ネストされたグリッドは、
Web パネルの [ Web Layout ]で定義できます。
これを実現するため、
フリー スタイル グリッド コントロールの内部に別の
フリー スタイル グリッド コントロールまたは
Web オブジェクトのグリッドコントロールを追加できます。
標準グリッド (
Web オブジェクトのグリッドコントロール) のグリッドをネストさせることはできません。
複数のレベルでグリッドをネストさせることも、平行にグリッドをネストさせることも可能です。グリッドがノードに相当する、ツリーのようなものだと考えてください。標準グリッドは、ネストツリーのリーフにしかなることができません。
たとえば、サービスプロバイダーをカテゴリごとにインデントして表示する Web パネルを作成するとします:
Hotels |
|
|
Hilton XXX Hotel |
|
Hyatt YYY Hotel |
Transport |
|
|
Alfa Travel |
|
OtherWorld Travel |
... |
|
この要件を実装するために、CategoryName 項目属性を含むフリー スタイル グリッドと、サービスプロバイダーのデータを含む別のグリッドを含めることができます (この 2 つ目のグリッドは、標準とフリースタイルのどちらでも構いません)。
ネストされたグリッドは、ネストされた
For Each コマンドと同じ関係ルールに従います。したがって、各グリッドのベーステーブルが検索されます (ベーステーブルは完全に独立しているわけではありません。メイングリッドのベーステーブルによって、ネストされたグリッドのベーステーブルの検索が影響を受けます)。
次に、これらの検索結果に従って、各グリッドに対して行うナビゲーションが定義されます。グリッドのロジックは、テーブル間の関係によって変わります。
ベーステーブルが存在しない場合、Load コマンドでデータを読み込む必要があります。
各グリッドにはそれぞれの
Load イベントおよび
Refresh イベントがあります。ネストされたグリッド内で Load コマンドが実行されるたびに、それぞれの子の Refresh および Load イベントが呼び出されます。