现在(默认),当您单击用户可排序DataGridColumn
上的标题时,它会按第一次单击时的升序和第二次单击时的降序进行排序。
如何让它在第一次单击时按降序排序,在第二次单击时按升序排序?
发布于 2012-06-15 00:52:13
我想出了一个办法,不知道这是不是最好的办法。但基本上,当排序事件触发并且当前SortDirection为null时,我将其设置为升序,以便默认排序器将SortDirection反转为降序,并且这仅在第一次排序时发生,因为这是唯一一次SortDirection为null。
myGrid.Sorting += (s, e) => e.Column.SortDirection = e.Column.SortDirection ?? ListSortDirection.Ascending;
发布于 2014-02-10 21:13:47
以下是公认答案的扩展版本(我不喜欢这种紧凑的表示法):
private void _myGrid_Sorting(object sender, DataGridSortingEventArgs e)
{
if (e.Column.SortDirection == null)
e.Column.SortDirection = ListSortDirection.Ascending;
}
发布于 2012-06-15 00:31:39
我在Winforms中也做过类似的事情。处理DataGrid.Sorting事件,如果不是"none“,则以编程方式颠倒排序顺序。
检查此链接以查看WinForms中的内容:DataGridViewColumn initial sort direction
https://stackoverflow.com/questions/11043040
复制