我正在寻找一些关于在DataGridView中更改每行的单元格值的最有效方法的建议。 我认为可能有不同的方法来实现这一点,但我不想在没有一些建议的情况下开始编码并最终走错路。
值总是在同一列中,是否可以使用foreach循环遍历DGV中的每一行,读取正确列上行内的数据,只需使用row[columnIndex] = "x value";
之类的内容
或者我会更好地获取所有DGV数据并将其放入Datatable,更新数据然后将其重新应用到DataGridView。
由于
答案 0 :(得分:4)
在我的情况下,它将使用bindingsource
使用bindingsource
source
上的每次更改都会对control
产生影响,control
上的每次更改都会对source
产生影响
DataTable dt = GetTable();
BindingSource bs = new BindingSource();
bs.DataSource = dt;
dataGridView1.DataSource = bs;
foreach(DataRow row in dt.Rows)
{
row.BeginEdit();
row.["SomeColumn"] = somevalue;
row.EndEdit();
}