我正在尝试在DataGridView中选择一个新添加的项目,该项目绑定到DataTable项目。我知道我们可以遍历DataGridView并找到它......
选择行(DataGridView循环)
Private Sub SelectNewDgvItem(ByVal Item As clsItem, ByVal Dgv As DataGridView)
For each r as DataGridViewRow In Dgv.Rows
If r.Cells("PK_Item").Value = Item.PK_Item Then
r.Selected()
'Ensures visibility of the row if r.Cells("PK_Item") is visible
Dgv.CurrentCell = r.Cells("PK_Item")
Exit For
End If
Next
End Sub
我试图弄清楚我们是否可以使用DataTable选择DataGridView行
答案 0 :(得分:1)
正确的方法是将DataTable
绑定到BindingSource
,然后将BindingSource
绑定到DataGridView
。然后,您可以调用Find
的{{1}}方法来获取行的索引,该索引可能与原始BindingSource
中相应行的索引匹配,也可能不匹配。然后,您可以使用该索引从网格的DataTable
集合中获取DataGridViewRow
和/或您可以将其分配到Rows
的{{1}}属性UI中的当前行。这只是为什么在WinForms中绑定时通常应该使用Position
的一个例子。