ADFツリーは誤解を招くように見えるかもしれませんが、アプリケーション・モジュールで作成したデータ・コントロール(イテレータ)を実際に反映しているわけではありません。ツリーはビュー リンク アクセサーで機能します。そのため、ツリー ノードを選択しても、反復子は変更されません。
モデル プロジェクトでアクセサーを表示する場合は、階層で使用されている 2 つの隣接するビュー オブジェクト間のビュー リンクを開きます。 Relationship - Accessors - Destination に、Accessor Name パラメータが表示されます。その値は、下位のツリー レベルの名前になります。適切なレベルのツリー レベル ルール セクションの pageDef ツリー バインディングに表示されるのと同じ名前です。
したがって、アプリケーション モジュール データ コントロールから OrgView1Iterator 以外のすべてのイテレータを削除しても、ツリーは引き続き機能します (現時点では右側のテーブルについては言及していません)。
それでは、ケースを機能させましょう。
<オール>- OrgView1
- VariablePointViewOrgZoneVariable
- VariablePointViewOrgZoneVariableVariablePoint
OrgView1 と VariablePointViewOrgZoneVariable はルート レベルにあります。 VariablePointViewOrgZoneVariableVariablePoint は VariablePointViewOrgZoneVariable の子です。OrgView1 の現在の子はすべてデータ コントロールから削除する必要があります。
- Executables セクションのページ バインディングで、緑色のプラスをクリックし、VariablePointViewOrgZoneVariable イテレータ (たとえば、VariablePointViewOrgZoneVariable1Iterator) を追加します。
実行可能ファイルには、OrgView1Iterator、VariableDataView1Iterator、VariablePointViewOrgZoneVariable1Iterator の 3 つの反復子が必要です。
- フィルタリングの重要な部分は、ターゲット データ ソース属性です。ツリー バインディングで見つけることができます。バインディング セクションのページ バインディングで、OrgView1 をダブルクリックします。ツリー レベルのルールで、VariablePointViewOrgZoneVariable ツリーを選択し、下部にある [ターゲット データ ソース] を表示します。[EL ピッカー] をクリックし、[VariablePointViewOrgZoneVariable1Iterator] を選択して [OK] を選択します。
結果は ${bindings.VariablePointViewOrgZoneVariable1Iterator} になります。
- ページで、テーブルの partialTrigger 属性がツリーを指すように設定します。
ページのフィルタリングを再起動すると、機能するはずです。
あなたのケースを示す小さな例を作成しました。指示に従ってください。コンピューターで実行するか、readme を読むだけです。また、必要のない最後のツリー レベルにも選択が適用されます。
https://github.com/ILyaCyclone/adf-tree-to-table -filterandselect