繁体   English   中英

C#,BindingList,BindingSource,排序一个ListBox?

[英]C#, BindingList, BindingSource, sorting a ListBox?

我现在已经用谷歌搜索了一个小时,但没有找到有效的答案。

我有一个带有不同成员的 myClass,例如字符串名称和一些 int 数字。 然后我有一个 List 类型的 myList,然后我有一个 Listbox 控件。

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

但我想要的是让它可以按我的 class 的不同成员排序。 我已经尝试创建我的列表的 BindingSource 并将其传递给列表框,但是我的列表框中的唯一条目是“(枚举)”(绑定列表的类型,但不是它的成员)。

我需要什么才能在一个简单的 Listbox 控件中显示一个简单的 List 并使其可由 T 的成员排序?

BindingList 本身并不实现排序,尽管它为您提供了您选择实现它的能力。 您可以从 BindingList 继承并从这里开始 请记住,排序操作可能不应该修改原始列表。

有现有的实现,比如BindingListView ,它也会给你你需要的东西。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM