使用ObjectListView进行自定义排序
假设我有一个包含3列的objectListView
ArticleNumber | OrderNumber | Status 8080 | 123.456.789 | Delivered 80 | 456.789.101 | Pending 901 | 11.111.111 | Delivered
使用自动排序,较小的商品编号将在更大的商品编号下,因此它将排序8080,80,901或901,80,8080,但我希望最小的数字将在顶部。
在OrderNumber上也一样。
状态不起作用。 On,它只是在我按下ColumnHeader时对ArticleNumber进行排序,所以我想根据文本对Status进行排序。
我想我需要一个CustomSorter来完成那个任务,但我找不到如何使用它,我找不到一个很好的例子,OLV的食谱没有帮助我。
你有一个例子告诉我如何做到这一点?
使用自定义排序器的示例:
MyOlv.CustomSorter = delegate(OLVColumn column, SortOrder order) { // check which column is about to be sorted and set your custom comparer if (column == ArticleNumber) { MyOlv.ListViewItemSorter = new ArticleNumberComparer(order); } }; class ArticleNumberComparer : IComparer { SortOrder _Order; public ArticleNumberComparer(SortOrder order) { _Order = order; } public int Compare(object x, object y) { // perform you desired comparison depending on the _Order } }
请注意,Compare()中的x和y的类型为ListViewItem。 您可以看一下如何访问底层模型对象。
上述就是C#学习教程:使用ObjectListView进行自定义排序分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1029636.html