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

标签 c# winforms datagridview datatable

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

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

谢谢

最佳答案

在我的例子中,它将使用 bindingsource

使用bindingsource source 上的每个更改都会影响control,而control 上的每个更改都会影响来源

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

关于C# - 更改 DataGridView 中每行单元格值的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42022647/

相关文章:

c# - NHibernate 无法将数据库状态与 session 同步

c# - 将日期时间传递给 REST API 时出现 "Bad request"错误

c# - 在 C# 中获取 Focused 元素的名称

.net - 验证 DataGridView 单元格

.net - 当 SelectionMode=FullRowSelect 时,如何突出显示 DataGridView 中的当前单元格

c# - Powershell 未在 try/catch 中捕获异常?

c# - System.ServiceModel.Channels.BufferManager 是线程安全的吗?

c# - 当 DrawMode 不是 Normal 时,我的 ComboBox 看起来很糟糕

c# - 在 C# 中解压缩 JPEG 图像的最快方法是什么

c# - 在 gridview (C#) 中获取 SQLite 数据不起作用