创建绑定源与仅为组合框分配List <c>?</c>

时间:2014-10-09 04:17:55

标签: c# .net winforms

在以下链接中,作者演示了如何创建绑定源并将排序功能添加到网格视图。它应该与combobox数据源类似。但是对于像combobox或listbox这样的简单控件来说它有什么好处呢?我只需指定类型List<AClass>的列表,然后为控件分配DisplayMember和Value。

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

即使对于数据网格视图,它是否适用于复杂的情况,例如,使用分页对网格视图进行排序?看起来示例中的类PropertyComparerCollection仅适用于加载的数据。

1 个答案:

答案 0 :(得分:0)

本文的重点是将复杂的业务对象绑定到网格视图。自.Net Framework 2.0以来,这是一个备受争议的主题。如果绑定类型的属性不再是原始属性,那么您必须亲自动手以支持排序,过滤或搜索。

此目标有很多通用类,但我建议this implementation使用精美的视频演示here

但是,如果您不是针对数据网格视图,而是针对组合框或列表框并希望在排序或过滤时不修改基础商店,则仍然可以使用从 IBindingListView BindingList(T)派生的自定义类,如上所述,并手动调用 ApplySort ApplyFilter 。您在帖子中链接的文章中的实现和我建议使用的文章中的实现使用原始数据源的临时副本进行排序/过滤。

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