我有两个数据绑定datagridviews,每个都绑定到一个List(Of MyType)。
现在我想将selectedrows(选定的MyTypes)添加到其他datagridview。
直到现在,我做到了: - 遍历selectedrows属性 - 构建MyType的新项目并获取当前行的属性
有更好的方法吗?
我可以轻松检查该项目是否已存在?也许最好只在列表之间移动数据?
谢谢!
答案 0 :(得分:0)
除非您想使用支持过滤的数据源,例如a DataTable
,您需要两个列表。但是,不需要创建对象的副本;您只需将对象从一个绑定列表移动到另一个绑定列表。我建议您将两个列表绑定到BindingSource
组件并将它们绑定到网格。然后你可以这样做:
'Get the bound item from each of the selected rows in the first grid.
Dim selectedItems = Me.DataGridView1.SelectedRows.
Cast(Of DataGridViewRow).
Select(Function(row) row.DataBoundItem).
Cast(Of YourItemType).
ToArray()
'Move the selected items from the first list to the second.
For Each item In selectedItems
list1.Remove(item)
list2.Add(item)
Next
'Refresh both grids.
Me.BindingSource1.ResetBindings(False)
Me.BindingSource2.ResetBindings(False)