如何基於樹選擇過濾Oracle ADF表內容?基於樹選擇的ADF過濾表
綁定:
所以表總是呈現爲如果第一個項目將在樹中選擇,但是當我點擊一些其他VariablePoint,該表沒有改變:
UPDATE
基礎上的答案,我能夠精讀圖下,它解決了這個問題:
我做了一個迭代器對每個樹級別的規則,並用它們作爲目標數據源每個樹/樹級別規則。
如何基於樹選擇過濾Oracle ADF表內容?基於樹選擇的ADF過濾表
綁定:
所以表總是呈現爲如果第一個項目將在樹中選擇,但是當我點擊一些其他VariablePoint,該表沒有改變:
UPDATE
基礎上的答案,我能夠精讀圖下,它解決了這個問題:
我做了一個迭代器對每個樹級別的規則,並用它們作爲目標數據源每個樹/樹級別規則。
ADF樹可能看起來有些誤導,但它們實際上並不反映您在應用程序模塊中創建的數據控件(迭代器)。樹木在視圖鏈接訪問器上工作。這就是爲什麼當你選擇一個樹節點時,迭代器不會得到任何改變。
如果您想在您的模型項目中看到您的訪問器,請在層次結構中使用的任意兩個相鄰視圖對象之間打開視圖鏈接。在關係 - 訪問器 - 目標中,您將看到訪問者名稱參數。它的值將是更低樹級的名稱。同樣的名字,你會在你的pageDef樹在適當的水平樹形層級規則部分結合看。
所以,即使你刪除你的應用程序模塊的數據控制所有迭代器,但OrgView1Iterator,你的樹仍然功能(目前還不談到右表)。
現在讓你的案例工作。
OrgView1和VariablePointViewOrgZoneVariable位於根級別。 VariablePointViewOrgZoneVariableVariablePoint是VariablePointViewOrgZoneVariable的孩子。 OrgView1的所有當前子女都應從數據控制中刪除。
在你的Executables中應該有3個迭代器:OrgView1Iterator,VariableDataView1Iterator和VariablePointViewOrgZoneVariable1Iterator。
結果應該是$ {bindings.VariablePointViewOrgZoneVariable1Iterator}。
重新啓動您的頁面過濾應該工作。
我製作了一個小例子來展示您的案例。 按照說明操作,您可以在計算機上運行它,或者直接閱讀自述文件。它還將選擇應用於最後一個樹層,您可能不需要。
您好,非常感謝您的詳細解釋。所以我明白了,問題出在Target Data Source和Iterator配置上。我將更新問題描述以包含更新後的解決方案。 –