XamDataGrid では行の状態によって以下の概念があります。
- アクティブ行
- 選択行
アクティブ行と選択行は混在し同じ行に当てはまることもあり、少々複雑に感じられます。
意識せずに開発やスタイルの調整を行うと混乱することがありますので、こちらにそれぞれの定義や特徴をまとめてみました。添付のサンプルでは、アクティブ行を青く、選択行を赤くし、行の情報を出力していますので併せて確認してみてください。
アクティブ行(Active row)
定義
- アクティブ行は、現在ユーザーがフォーカスしている行のことです。つまり、データグリッド内で現在操作対象となっている行を指します。
- ユーザーが行のセルをクリックすることでその行がアクティブになります。
- セルの編集やキーボード操作(上下矢印キーなど)によりフォーカスが移動した場合にも、アクティブ行が更新されます。
特徴
- フォーカスが当たっている行として認識される。
- 操作中の Grid でアクティブ行は必ず1つだけ存在します。
用途例
- ユーザーが現在操作しているデータを取得したい場合。
- データ編集や削除操作など、現在のコンテキストに関連する行を特定する場合。
選択行(Selected row)
定義
- 選択行は、ユーザーが明示的に選択した行を指します。これはデータグリッドの選択操作に応じて複数の行を対象とする場合もあります。
- マウスのクリック操作や、Ctrl/Shiftキーを用いた選択範囲の拡大・縮小によって決定されます。
- 選択モード(単一選択、複数選択)に応じて、選択される行の数が異なります。
特徴
- ユーザーの選択操作に基づいて選択される行。
- 存在しない(選択されていない)場合がある
用途例
- 複数の行を対象にした操作(例えば、データのエクスポートや削除)を実行する場合。
- ユーザーが選択した行のデータを処理したい場合。