当前,我在列表 View 上使用自定义排序器,并且每次单击FIRST列时都可以对列表 View 进行排序,但是不会按其他列进行排序。
SortStyle:用于确定是升序还是降序的变量。
if (e.Column == 0)
{
if (SortStyle == 0)
{
List.ListViewItemSorter = customSortDsc;
SortStyle = 1;
}
else
{
List.ListViewItemSorter = customSortAsc;
SortStyle = 0;
}
}
在对第一列进行排序时,这种方法可以很好地工作,但是如果要在其他任何列上进行排序,则只会按第一列进行排序。有没有一种方法可以对单击的列进行排序?
最佳答案
如果您从ListView开始,请帮自己一个忙,改用ObjectListView。 ObjectListView是.NET WinForms ListView的开源包装,它使ListView更加易于使用,并为您解决了许多常见问题。按列单击排序是它自动为您处理的许多事情之一。
认真地说,您永远不会后悔使用ObjectListView而不是普通的ListView。