作成日: 2023/02/24 最終更新日: 2023/02/24
文書種別
使用方法
詳細
FlexGridでは、グリッドのデータをグループ化して階層構造を生成し、ツリー形式で表示することができます。

この階層構造を生成を作成するために、「ノード行」(*)という概念が導入されています。各ノード行の横にはアイコン(+ / -)が表示され、ツリーを折りたたみ/展開することができます。
これにより、データがグループ化され階層構造で表示されるので、情報へのアクセスと表示が容易になります。
* ノード行とは
次の点を除いて、通常の行とほぼ同じです。
ノード行は、次のような方法で作成できます。
① Row.IsNodeプロパティを使用(非連結モード)
非連結グリッドでは、行のIsNodeプロパティをTrueに設定することにより、通常の行をノード行に変換できます。
※これは、非連結グリッドでのみ機能することに注意してください。連結グリッドで行をノードに変換しようとすると、例外が発生します。連結グリッドではRows.InsertNodeメソッドを使用してください。
② Rows.InsertNode/AddNodeメソッドを使用(非連結モード/連結モード)
RowCollectionクラスのInsertNodeメソッドで、指定されたインデックスに新しいノード行を挿入できます。またAddNodeメソッドで、行の最後に新しいノード行を追加できます。
※連結モードの場合、AddNodeメソッドも使用できますが、新規ノード行の後に連結行を追加できないためあまり意味をなしません。
③ SubTotalメソッドを使用(非連結モード/連結モード)
このメソッドは、行全体をスキャンし、データの値が変更される場所にノード行を自動的に挿入し、小計を計算します。
SubTotalメソッドを実行する前に、データをソートするなどで行をグループごとにまとめておくことをお勧めします。
④GroupDescriptionsクラスを使用(非連結モード/連結モード)
C1FlexGridのGroupDescriptionsクラスのPropertyNameプロパティで、グループ化する列名を指定すると、同じ値を持つデータが集められ、ノード行(*)が追加された階層構造が自動生成され、ツリー表示されます。
※該当列のデータを事前にソートしておく必要はありません。
これらの詳細については、製品ヘルプの「ツリーグリッド」の項を参照してください。
また下記ナレッジでも、いくつかのケースについて具体的な設定コードを紹介しています。
この階層構造を生成を作成するために、「ノード行」(*)という概念が導入されています。各ノード行の横にはアイコン(+ / -)が表示され、ツリーを折りたたみ/展開することができます。
これにより、データがグループ化され階層構造で表示されるので、情報へのアクセスと表示が容易になります。
* ノード行とは
次の点を除いて、通常の行とほぼ同じです。
- ノード行はデータ バインドされていません。グリッドがデータ ソースにバインドされている場合、通常の各行はデータ ソース内の項目に対応します。ノード行にはありません。代わりに、同様のデータを含む通常の行をグループ化するために存在します。
- ノード行は折りたたんだり展開したりできます。ノード行が折りたたまれると、そのすべてのデータと子ノードが非表示になります。アウトライン ツリーが表示されている場合、ユーザーはマウスまたはキーボードを使用してノードを折りたたんだり展開したりできます。アウトライン ツリーが表示されない場合、コードを使用してのみノードを展開または折りたたむことができます。
ノード行は、次のような方法で作成できます。
① Row.IsNodeプロパティを使用(非連結モード)
非連結グリッドでは、行のIsNodeプロパティをTrueに設定することにより、通常の行をノード行に変換できます。
※これは、非連結グリッドでのみ機能することに注意してください。連結グリッドで行をノードに変換しようとすると、例外が発生します。連結グリッドではRows.InsertNodeメソッドを使用してください。
② Rows.InsertNode/AddNodeメソッドを使用(非連結モード/連結モード)
RowCollectionクラスのInsertNodeメソッドで、指定されたインデックスに新しいノード行を挿入できます。またAddNodeメソッドで、行の最後に新しいノード行を追加できます。
※連結モードの場合、AddNodeメソッドも使用できますが、新規ノード行の後に連結行を追加できないためあまり意味をなしません。
③ SubTotalメソッドを使用(非連結モード/連結モード)
このメソッドは、行全体をスキャンし、データの値が変更される場所にノード行を自動的に挿入し、小計を計算します。
SubTotalメソッドを実行する前に、データをソートするなどで行をグループごとにまとめておくことをお勧めします。
④GroupDescriptionsクラスを使用(非連結モード/連結モード)
C1FlexGridのGroupDescriptionsクラスのPropertyNameプロパティで、グループ化する列名を指定すると、同じ値を持つデータが集められ、ノード行(*)が追加された階層構造が自動生成され、ツリー表示されます。
※該当列のデータを事前にソートしておく必要はありません。
これらの詳細については、製品ヘルプの「ツリーグリッド」の項を参照してください。
また下記ナレッジでも、いくつかのケースについて具体的な設定コードを紹介しています。