我的列表/集合有哪些要求,以便在单击列标题进行排序时可以在DataGridView中对其进行排序?
答案 0 :(得分:0)
您需要深入了解MSDN文档。您可以根据需要使用自动/自定义排序。
答案 1 :(得分:0)
:当你点击数据绑定DataGridView中的列标题时,它会调用IBindingList上的ApplySort方法。您可以覆盖BindingSource上的ApplySort方法并在那里执行自定义操作。
因此我的列表/集合需要一个IBindingList impl。
答案 2 :(得分:0)
DataGridView上此类信息的最佳位置是MSDN。对于更加模糊的问题,下一个调用端口是由Data RridView的程序管理器Mark Rideout编写的优秀DataGridView FAQ
在MSDN上有一篇关于数据绑定和DataGridView(包括排序)的文章非常全面,标题为Custom Data Binding。
基本上,当数据源绑定到DataGridView时,只要源实现了IBindingList并且具有支持代码用于处理排序的接口方法(例如SupportsSorting应该返回true
),就会自动将数据源绑定到DataGridView排序。
一些开箱即用的数据源确实支持排序 - 例如DataTable,但大多数都没有。
特别是BindingList,虽然它实现了IBindingList但不支持排序。要使对象列表可排序,您需要创建自己的可排序列表。在Web上有几个这样的例子,使用从BindingList派生的类。搜索SortableBindingList以找到一个(实际上我在上面引用的数据绑定文章中有一个例子)。