現在(デフォルト)、ソート可能なユーザーのヘッダーをクリックするDataGridColumn
と、最初のクリックで昇順でソートされ、2番目のクリックで降順でソートされます。
最初のクリックで降順で並べ替え、2番目のクリックで昇順で並べ替えるにはどうすればよいですか?
私はそれを行う方法を考え出しましたが、それが最善の方法であるかどうかはわかりません。ただし、基本的に、並べ替えイベントがトリガーされ、現在の SortDirection が null の場合は、昇順に設定して、デフォルトのソーターが SortDirection を降順に逆にします。これは、SortDirection が null になるのは最初の並べ替えでのみ発生するためです。
myGrid.Sorting += (s, e) => e.Column.SortDirection = e.Column.SortDirection ?? ListSortDirection.Ascending;
Winformsでも同様のことをしました。DataGrid.Sortingイベントを処理し、「none」でない場合はプログラムで並べ替え順序を逆にします。
WinFormsでこれがどのように表示されるかについては、次のリンクを確認してください: DataGridViewColumn初期ソート方向