有没有一种简单的方法可以让一个由多个绑定列表组成的绑定列表?即这是列表的“视图”。
也就是说:我有3个列表(list1,list2,list3)。我想要一个始终是 3 个 listx 的并集的列表(我们可以假设 2 个不同的列表中不包含任何对象)。
当然,我可以成功使用 ListChange 属性,但也许有更聪明的方法来做到这一点?
有没有一种简单的方法可以让一个由多个绑定列表组成的绑定列表?即这是列表的“视图”。
也就是说:我有3个列表(list1,list2,list3)。我想要一个始终是 3 个 listx 的并集的列表(我们可以假设 2 个不同的列表中不包含任何对象)。
当然,我可以成功使用 ListChange 属性,但也许有更聪明的方法来做到这一点?
您是否查看过CompositeCollection类?
根据您要执行的操作,它可能会有所帮助:其目的是将多个集合组合成一个集合(通常用于显示/绑定目的)。因此,您可以创建一个CompositeCollection
并将您的三个BindingList
实例添加到其中。将CompositeCollection
自动更新以包含“子”列表的成员。
为此,您需要创建自己的类型、实现IList
, IBindingList
(理想情况下IBindingListView
)和可选ICancelAddNew
的 and IRaiseItemChangedEvents
。您还需要一个公共非对象索引器 ( public T this[int index] {get;}
) 或ITypedList
.
从做过类似的事情,我强烈建议你;不要,除非这真的很重要。将引用复制到新的BindingList<>
.
还; 有新项目;它会进入哪个列表?