3

有没有一种简单的方法可以让一个由多个绑定列表组成的绑定列表?即这是列表的“视图”。

也就是说:我有3个列表(list1,list2,list3)。我想要一个始终是 3 个 listx 的并集的列表(我们可以假设 2 个不同的列表中不包含任何对象)。

当然,我可以成功使用 ListChange 属性,但也许有更聪明的方法来做到这一点?

4

2 回答 2

1

您是否查看过CompositeCollection类?

根据您要执行的操作,它可能会有所帮助:其目的是将多个集合组合成一个集合(通常用于显示/绑定目的)。因此,您可以创建一个CompositeCollection并将您的三个BindingList实例添加到其中。将CompositeCollection自动更新以包含“子”列表的成员。

于 2010-05-06T12:22:54.827 回答
1

为此,您需要创建自己的类型、实现IList, IBindingList(理想情况下IBindingListView)和可选ICancelAddNew的 and IRaiseItemChangedEvents。您还需要一个公共非对象索引器 ( public T this[int index] {get;}) 或ITypedList.

从做过类似的事情,我强烈建议你;不要,除非这真的很重要。将引用复制到新的BindingList<>.

还; 有新项目;它会进入哪个列表?

于 2010-05-06T12:14:48.747 回答