0

我有这行代码将“TRUE”放在 selectedrows 的所有第一列上:

For Each row As DataGridViewRow In DataGridView1.SelectedRows
     row.Cells(0).Value = True
Next

但是如果行数超过一百,则将单个值放入该列需要很多时间。row.Cells(0) 是一个布尔列,我只需要将它设置为选中/未选中。

我已经尝试检查是否存在可以设置列值的语法,但我从可用的语法和搜索引擎中都找不到任何有用的东西。希望你能帮我解决这个问题。提前致谢

4

1 回答 1

1

如果DataGridView是数据绑定的,则不应直接修改单元格的内容。相反,您应该修改数据绑定对象。DataBoundItem您可以通过DataGridViewRow例如 c#访问该对象:

MyObject obj = (MyObject)dataGridView.CurrentRow.DataBoundItem;
obj.MyProperty = newValue;

请注意,绑定对象应实现INotifyPropertyChanged,以便更改反映在此处DataGridView的 Found

VB.net:

Dim obj As MyObject = DirectCast(dataGridView.CurrentRow.DataBoundItem, MyObject)
obj.MyProperty = newValue
于 2013-04-12T04:31:20.487 回答