我正在寻找一种向数据网格添加新行的简单方法。那么,我有什么:
dataGridView2.ColumnCount = 4;
int w = 0;
foreach (var item in tInArr)
{...
dataGridView2.Rows.Add();
dataGridView2[0, w].Value = muTat3.ToString();
dataGridView2[1, w].Value = item.ToString();
....
w++;}
我的错误在哪里?我在这里读过一些文章,但没有答案。
答案 0 :(得分:2)
如果您没有数据源,那么您可以采用以下方式:
int rowIndex = dataGridView1.Rows.Add();
dataGridView1[0, rowIndex].Value = "value1"; // 0 for first column
dataGridView1[1, rowIndex].Value = "value2"; // 1 for second column
rowIndex = dataGridView1.Rows.Add();
dataGridView1[0, rowIndex].Value = "value3";
dataGridView1[1, rowIndex].Value = "value4";
代码中的应该是:
// dataGridView2.ColumnCount = 4;
int w = 0;
foreach (var item in tInArr)
{...
w = dataGridView2.Rows.Add();
dataGridView2[0, w].Value = muTat3.ToString();
dataGridView2[1, w].Value = item.ToString();
....
//w++; this is not required
}
答案 1 :(得分:1)
在这里你可以使用datable然后像这样迭代你的循环:
foreach (DataRow rows in dt.Rows)
{..
int w = dataGridView2.Rows.Add();
dataGridView2[0, w].Value = rows[0].ToString();
dataGridView2[1, w].Value = rows[1].ToString();
}
答案 2 :(得分:0)
首先,您可以创建数据表,然后可以将datagrid的数据源设置得很长但很容易维护。
像这样DataTable table = new DataTable();
table.Columns.Add("Check", typeof(bool));
table.Columns.Add("Path", typeof(string));
table.Columns.Add("Date", typeof(DateTime));
table.Rows.Add(false, "", DateTime.Now);
dataGridView2.DataSource = table;