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

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

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

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

【実行例】

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

Visual Basic
コードのコピー
'選択した行を固定します
Private Sub _chkFreezePanes_Click(sender As Object, e As RoutedEventArgs)
    If _chkFreezePanes.IsChecked.Value Then
        C1FlexGrid.Rows.Frozen = C1FlexGrid.Selection.Row
    Else
        C1FlexGrid.Rows.Frozen = 0
    End If
End Sub
C#
コードのコピー
//選択した行を固定します
private void _chkFreezePanes_Click(object sender, RoutedEventArgs e)
{
    if (_chkFreezePanes.IsChecked.Value)
    {
        C1FlexGrid.Rows.Frozen = C1FlexGrid.Selection.Row;
    }
    else
    {
        C1FlexGrid.Rows.Frozen = 0;
    }
}