Q095. DataGrid でソートを制御にするには?

A.DataGrid.CanUserSortColumns プロパティでグリッド全体のソート可否を制御できます。
列ごとにソートの有効/無効を設定するには DataGridColumn.CanUserSort プロパティを設定してください。DataGrid.CanUserSortColumns を False にした場合、列ごとの設定は無効になります。列ごとにソートの可否を制御する場合、必ず DataGrid.CanUserSortColumns を True にしてください。

<DataGrid CanUserSortColumns="True" >
    <DataGrid.Columns>
        <!-- ID 列だけソートを無効にする -->
        <DataGridTextColumn Header="ID" Width="60" CanUserSort="False" />
        <DataGridTextColumn Header="名前" Width="150" />
        <DataGridTextColumn Header="住所" Width="*" />
        <DataGridTextColumn Header="TEL" Width="120" />
    </DataGrid.Columns>
</DataGrid>

WPF FAQ の目次に戻る