FlexGrid for WPF
列を固定する
基本操作 > 列 > 列を固定する

テーブルに多くのデータが表示されている場合、最初のいくつかの行を固定すると、グリッドをスクロールした際にそれらの列が表示されたままになるので便利です。

本動作を Columns.Frozen プロパティを設定して簡単に実現できます。C1FlexGrid は、Excel と同様にグリッドの固定領域とスクロール可能領域の間に黒い線が表示されています。また、FrozenLinesBrush プロパティを使用して、この分割線を削除したり、色を変更することができます。

次のコードは、Excel と同じような FreezePanes コマンドを実装する方法を示します。

【実行例】

ユーザーが _chkFreezePanes チェックボックスをオンにすると、イベントハンドラは Columns.Frozen プロパティを設定して、現在の選択範囲の左側に列が固定され、常に表示されるようにします。次の図に、この効果を示します。

コードのコピー
Private Sub _chkFreezePanes_Click(sender As Object, e As RoutedEventArgs) Handles _chkFreezePanes.Click
    If _checkfreezepanes.IsChecked.Value Then
        C1FlexGrid.Columns.Frozen = C1FlexGrid.Selection.Column
    Else
        C1FlexGrid.Columns.Frozen = 0
    End If
End Sub
コードのコピー
//列を固定するか固定を解除をします。
private void _chkFreezePanes_Click(object sender, RoutedEventArgs e)
{
    if (_chkFreezePanes.IsChecked.Value)
    {
        C1FlexGrid.Columns.Frozen = C1FlexGrid.Selection.Column;
    }
    else
    {
        C1FlexGrid.Columns.Frozen = 0;
    }
}