Vb.net 在datagridview中设置SELECTEDROWS列的值的最快方法是什么?

Vb.net 在datagridview中设置SELECTEDROWS列的值的最快方法是什么?,vb.net,vb.net-2010,Vb.net,Vb.net 2010,我用这行代码在selectedrows的所有第一列上加上“TRUE”: For Each row As DataGridViewRow In DataGridView1.SelectedRows row.Cells(0).Value = True Next 但是,如果行数超过100,则为该列添加单个值需要花费大量时间。row.Cells(0)是一个布尔列,我只需要将其设置为选中/未选中 我试着检查是否有语法可以设置列的值,但是从可用的语法和搜索引擎中找不到任何有用的东西。希望你能帮我

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

For Each row As DataGridViewRow In DataGridView1.SelectedRows
     row.Cells(0).Value = True
Next
但是,如果行数超过100,则为该列添加单个值需要花费大量时间。row.Cells(0)是一个布尔列,我只需要将其设置为选中/未选中


我试着检查是否有语法可以设置列的值,但是从可用的语法和搜索引擎中找不到任何有用的东西。希望你能帮我做这个。提前感谢

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

请注意,绑定对象应实现
INotifyPropertyChanged
,以便将更改反映在
DataGridView
发现

vb.net:

Dim obj As MyObject = DirectCast(dataGridView.CurrentRow.DataBoundItem, MyObject)
obj.MyProperty = newValue

我在vb.net中询问…>。公平地说,我已经为您提供了vb.net。在我的电话里:没关系。。谢谢但我指的是选定的行。。不是当前行。。我是否应该再次使用相同的循环,但只修改bindingsource/databound对象中的值?
Dim obj As MyObject = DirectCast(dataGridView.CurrentRow.DataBoundItem, MyObject)
obj.MyProperty = newValue