C#,BindingList,BindingSource,排序ListBox?

时间:2011-05-04 08:30:12

标签: c# sorting listbox bindingsource bindinglist

我现在已经用Google搜索了一个小时,但找不到合适的答案。

我有一个myClass,其中包含不同的成员,例如字符串Name和一些int Numbers。然后我有一个类型为List的myList,然后我有一个Listbox控件。

我可以使用DisplayMember = "Name"DataSource = new BindingList<myClass>(myList.Values)轻松地在列表框中显示列表。

但我想要的是让我的班级不同成员对其进行排序。我已经尝试创建List的BindingSource并将其传递给Listbox,但是我的Listbox中唯一的条目是“(Enumeration)”(绑定列表的类型,但不是其成员)。

我需要在简单的Listbox控件中显示一个简单的List并让它由T的成员排序?

1 个答案:

答案 0 :(得分:1)

BindingList本身并没有实现排序,但是如果你选择实现它,它会为你提供这种功能。 You can inherit from BindingList and start from here。请记住,排序操作可能不应修改原始列表。

现有的实施方式,如BindingListView,也可以满足您的需求。

但是,我发现最简单的方法是使用填充了类成员的DataTable。这将让您免费使用DataView,它已经支持排序,过滤和所有好东西。