[英]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.