DataGridの列ヘッダは、デフォルトのままだとヘッダをクリックするとソート(並び替え)しちゃうんですよね。
便利なようですが、業務アプリなんかだとデータソースをバインドする前に並び替えてあったりするので画面からは並び替えて欲しくない!ということも多々あります。
というわけで、DataGridの列のソートを禁止しましょう。
全ての列に設定する
全ての列を並び替え禁止にする場合は、以下のように設定します。
<DataGrid CanUserSortColumns="False">
省略
</DataGrid>
並び替えを明示的に許可する場合は、「 CanUserSortColumns=”True”」とすれば良いです。
デフォルトで並び替え許可になっているので削除する方が個人的にはスッキリして好みです。
列ごとに設定する
列ごとに設定することも出来ます。
<DataGrid>
<DataGrid.Columns>
<!-- ソートを禁止 -->
<DataGridTextColumn Header="列1" CanUserSort="False" />
<!-- ソートを許可 -->
<DataGridTextColumn Header="列2" CanUserSort="True" />
</DataGrid>
まとめ
DataGridは、データを一覧表示するときなどとても重宝するコントロールです。
そのかわり多くのプロパティを持っているので頑張って使いこなしましょう。
分からなくなったら、ここに戻ってきて確認してくださいね。
コメント