C# - 在DataGridView中更改每行中单元格值的最有效方法

时间:2017-02-03 10:58:26

标签: c# winforms datagridview datatable

我正在寻找一些关于在DataGridView中更改每行的单元格值的最有效方法的建议。 我认为可能有不同的方法来实现这一点,但我不想在没有一些建议的情况下开始编码并最终走错路。

值总是在同一列中,是否可以使用foreach循环遍历DGV中的每一行,读取正确列上行内的数据,只需使用row[columnIndex] = "x value";之类的内容 或者我会更好地获取所有DGV数据并将其放入Datatable,更新数据然后将其重新应用到DataGridView。

由于

1 个答案:

答案 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();
}