创建绑定源与仅分配List<;C>;用于combobox

本文关键字:lt gt combobox 用于 List 绑定 分配 创建 | 更新日期: 2023-09-27 18:25:57

在下面的链接中,作者展示了如何创建绑定源并将排序函数添加到网格视图中。它应该类似于combobox数据源。然而,对于像组合框或列表框这样的简单控件,这样做有什么好处吗?我可以分配一个类型为List<AClass>的列表,然后为控件分配DisplayMember和Value。

http://aviadezra.blogspot.com/2008/06/binding-domain-objects-in-visual-studio.html

即使对于数据网格视图,它在复杂的情况下也能很好地工作吗?例如,在带有分页的网格视图上排序?看起来示例中的类PropertyComparerCollection只适用于加载的数据。

创建绑定源与仅分配List<;C>;用于combobox

本文的重点是将复杂的业务对象绑定到网格视图。自.Net Framework 2.0以来,这一直是一个备受争议的话题。如果绑定类型的属性不再是基元的,那么您必须认真对待以支持排序、筛选或搜索。

有很多通用类可以实现这个目标,但我推荐这个实现,这里有一个很好的视频演示。

但是,如果您的目标不是数据网格视图,而是组合框或列表框,并且希望在排序或筛选时不修改基础存储,则您仍然可以使用从IBindingListViewBindingList(of T)派生的自定义类,如上面建议的那样,并手动调用ApplySortApplyFilter。在你的帖子中链接的文章中的实现,以及我建议使用原始数据源的临时副本进行排序/筛选的实现。

此外,对于分页,而不是从原始数据源中取出切片,您将从该数据源的包装可排序视图中取出切片。