[英]How do i choose the column that i want to add data into a DataGridView?
我有此源代碼:
private void button1_Click(object sender, EventArgs e)
{
dataGridView1.Visible = true;
dataGridView2.Visible = true;
SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=D:\Olimpiada\SistemSolar\SistemSolar\DBSistem.mdf;Integrated Security=True;User Instance=True");
con.Open();
SqlCommand cmd = new SqlCommand("SELECT Denumire FROM Caracteristici", con);
SqlCommand cmd1 = new SqlCommand("SELECT Valoare FROM Valori", con);
SqlDataReader sdr = cmd.ExecuteReader();
while (sdr.Read())
{
string[] RowData = { sdr.GetString(0) };
dataGridView2.Rows.Add(RowData);
}
sdr.Close();
//SqlCommand cmd1 = new SqlCommand("SELECT Valoare FROM Valori", con);
SqlDataReader sdr1 = cmd1.ExecuteReader();
while(sdr1.Read())
{
string[] RowData1 = { sdr1.GetString(0) };
dataGridView2.Rows.Add(RowData1);
}
sdr1.Close();
SqlCommand cmd2 = new SqlCommand("SELECT UM FROM Caracteristici", con);
SqlDataReader sdr2 = cmd2.ExecuteReader();
while (sdr2.Read())
{
string[] RowData2 = { sdr2.GetString(0) };
dataGridView2.Rows.Add(RowData2);
}
sdr2.Close();
}
我對此有一個疑問:完成插入RowData后,如何選擇移至另一列? 因為使用此代碼,所有數據僅在單個列上。
問題是,當您將數據添加到行時,您將像這樣添加數據:
string[] RowData = { sdr.GetString(0) };
dataGridView2.Rows.Add(RowData);
這總是將數據添加到第一列。 要將數據添加到其他列,您需要將數據添加到所需的列索引中,例如
string[] RowData = { "Column1", sdr.GetString(0), "Column3" };
如果有3列,則將數據添加到第二列。
https://msdn.microsoft.com/zh-CN/library/system.windows.forms.datagridview.rows(v=vs.110).aspx
這是一個主意,希望您能理解! 本示例將添加一行並填充所有列:
foreach (var item in Logs)
{
string[] row = new string[] { item.Id, item.Name, item.Description };
dataGridView.Rows.Add(row);
dataGridView.ClearSelection();
dataGridView.Rows[dataGridView.Rows.Count - 1].Selected = true;
dataGridView.FirstDisplayedScrollingRowIndex = dataGridView.Rows.Count - 1;
}
string[] row = new string[] { item.Id, item.Name, item.Description };
的順序string[] row = new string[] { item.Id, item.Name, item.Description };
應該等於您的datagridView列順序。
登錄我的代碼是List<Log>
,但應該與任何其他集合類型一起使用。
如果日志中充滿了各種對象,則此示例將添加相同數量的行。
我解決了問題,我將解決方案留在這里:
string[] x = new string[100];
string[] y = new string[100];
string[] z = new string[100];
string[] den = new string[100];
SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\DBSistem.mdf;Integrated Security=True;User Instance=True");
con.Open();
SqlCommand cmd = new SqlCommand("SELECT Denumire FROM Caracteristici", con);
SqlCommand cmd1 = new SqlCommand("SELECT Valoare FROM Valori", con);
SqlDataReader sdr = cmd.ExecuteReader();
int i = 0;
while (sdr.Read())
{
x[i] = sdr.GetString(0);
i++;
}
sdr.Close();
SqlDataReader sdr1 = cmd1.ExecuteReader();
i = 0;
while(sdr1.Read())
{
y[i] = sdr1.GetString(0);
i++;
}
sdr1.Close();
i = 0;
SqlCommand cmd2 = new SqlCommand("SELECT UM From Caracteristici", con);
SqlDataReader sdr2 = cmd2.ExecuteReader();
while (sdr2.Read())
{
z[i] = sdr2.GetString(0);
i++;
}
sdr2.Close();
for (i = 0; i <= 10; i++)
{
string[] RowData = { x[i], y[i], z[i] };
dataGridView2.Rows.Add(RowData);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.