当前,我在列表 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。

  • ObjectListView Home Page
  • ObjectListView Nuget Package
  • 07-24 09:47
    查看更多