如何在维护相邻列的同时在列表视图中实现排序?
时间:2020-03-06 14:47:48 来源:igfitidea点击:
我有一个具有几列的ListView。
其中一个包含"名称",另一个包含"金额"。我想允许用户单击列表视图中的"名称"列,并按字母顺序对其进行排序,还希望用户单击"金额",并对其进行数字排序(较高/较低,较低/较高)。
实现此目的的最佳方法是什么?
解决方案
它是部分实现的,但不是完全实现的。 Microsoft在http://support.microsoft.com/kb/319401上描述了如何解决此问题。
为了解决这个问题,我编写了自己的ListViewItemComparer,它实现了IComparer接口。然后,根据列是数字列还是字符串列,我进行了适当的比较。
ObjectListView(围绕.NET WinForms ListView的开源包装器)会自动为我们完成此操作。