簡體   English   中英

基於樹選擇的ADF過濾器表

[英]ADF filter table based on tree selection

如何根據樹選擇過濾Oracle ADF表內容?

綁定:

綁定

因此,該表始終呈現好像在樹中選擇第一項一樣的外觀,但是當我單擊其他一些VariablePoint時,該表不會更改:

選擇變更時不變更的表

UPDATE

根據答案,我能夠配置以下內容,並且解決了該問題:

配置目標數據源

我為每個樹級別規則創建了一個迭代器,並將其用作每個樹/樹級別規則的目標數據源。

ADF樹可能看起來有些誤導,但它們實際上並未反映您在應用程序模塊中創建的數據控件(迭代器)。 樹在視圖鏈接訪問器上工作。 這就是為什么當您選擇樹節點時,迭代器不會發生任何更改的原因。

如果要在模型項目中查看訪問器,請打開層次結構中使用的任何兩個相鄰視圖對象之間的視圖鏈接。 在關系-訪問者-目標中,您將看到訪問者名稱參數。 它的值將是較低樹級別的名稱。 在適當的級別的“樹級別規則”部分的pageDef樹綁定中將看到相同的名稱。

因此,即使從應用程序模塊數據控件中刪除了除OrgView1Iterator之外的所有迭代器,樹仍將起作用(此刻不在談論右側的表)。


現在,使您的案例起作用。

  1. 在應用程序模塊數據控件中,您僅需要以下層次結構:
    • OrgView1
    • VariablePointViewOrgZoneVariable
      • VariablePointViewOrgZoneVariableVariablePoint

OrgView1和VariablePointViewOrgZoneVariable在根級別。 VariablePointViewOrgZoneVariableVariablePoint是VariablePointViewOrgZoneVariable的子級。 OrgView1的所有當前子級都應從數據控件中刪除。

  1. 在“可執行文件”部分的頁面綁定中,單擊綠色加號,然后添加VariablePointViewOrgZoneVariable迭代器(例如VariablePointViewOrgZoneVariable1Iterator)。

在可執行文件中,應該有3個迭代器:OrgView1Iterator,VariableDataView1Iterator和VariablePointViewOrgZoneVariable1Iterator。

  1. 過濾的關鍵部分是“目標數據源”屬性。 您可以在樹綁定中找到它。 在“綁定”部分的頁面綁定中,雙擊OrgView1。 在樹級別規則中,選擇VariablePointViewOrgZoneVariable樹,並在底部顯示目標數據源。 單擊EL Picker,選擇VariablePointViewOrgZoneVariable1Iterator,然后單擊確定。

結果應為$ {bindings.VariablePointViewOrgZoneVariable1Iterator}。

  1. 在頁面上,將表的partialTrigger屬性設置為指向樹。

重新啟動后,頁面過濾應該起作用。


我舉了一個小例子來說明您的情況。 按照說明進行操作,您可以在計算機上運行它,也可以僅閱讀自述文件。 還將選擇應用到您可能不需要的最后一棵樹級別。

https://github.com/ILyaCyclone/adf-tree-to-table-filterandselect

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM