sql >> Databáze >  >> RDS >> Oracle

Tabulka filtrů ADF na základě výběru stromu

Stromy ADF mohou vypadat poněkud zavádějící, ale ve skutečnosti neodrážejí ovládací prvky dat (iterátory), které jste vytvořili v modulu aplikace. Stromy fungují na přístupových objektech odkazů. To je důvod, proč když vyberete uzel stromu, iterátory nedostanou žádné změny.

Pokud chcete vidět své přístupové objekty v projektu modelu, otevřete propojení pohledu mezi libovolnými dvěma sousedními objekty pohledu používanými ve vaší hierarchii. V Relationship - Accessors - Destination uvidíte parametr Accessor Name. Jeho hodnota by byla názvem nižší stromové úrovně. Stejný název, který uvidíte ve své stromové vazbě pageDef v sekci Pravidla úrovně stromu pro příslušnou úroveň.

Takže i když odstraníte všechny iterátory kromě OrgView1Iterator z řízení dat aplikačního modulu, váš strom bude stále fungovat (nemluvě o tabulce vpravo v tuto chvíli).

Nyní, aby váš případ fungoval.

  1. Ve kontrole dat aplikačního modulu budete potřebovat pouze tuto hierarchii:
    • OrgView1
    • VariablePointViewOrgZoneVariable
      • VariablePointViewOrgZoneVariableVariablePoint

OrgView1 a VariablePointViewOrgZoneVariable jsou na kořenové úrovni. VariablePointViewOrgZoneVariableVariablePoint je potomkem proměnné VariablePointViewOrgZoneVariable. Všechny současné potomky OrgView1 by měly být odebrány z kontroly dat.

  1. Ve vazbě stránky v sekci Spustitelné soubory klikněte na zelené plus a přidejte iterátor VariablePointViewOrgZoneVariable (řekněme VariablePointViewOrgZoneVariable1Iterator).

Ve vašich spustitelných souborech by měly být 3 iterátory:OrgView1Iterator, VariableDataView1Iterator a VariablePointViewOrgZoneVariable1Iterator.

  1. Klíčovou součástí filtrace je atribut Cílový zdroj dat. Najdete ji ve své stromové vazbě. Ve vazbě stránky v sekci Vazby dvakrát klikněte na OrgView1. V pravidlech na úrovni stromu vyberte strom VariablePointViewOrgZoneVariable a ve spodní části zpřístupněte cílový zdroj dat. Klikněte na EL Picker, vyberte VariablePointViewOrgZoneVariable1Iterator a OK.

Výsledek by měl být ${bindings.VariablePointViewOrgZoneVariable1Iterator}.

  1. Na své stránce nastavte atribut částečný spouštěč tabulky tak, aby ukazoval na strom.

Po restartování by měla filtrace stránky fungovat.

Udělal jsem malý příklad ukazující váš případ. Postupujte podle pokynů a můžete jej spustit na svém počítači nebo si jen přečíst readme. Použije také výběr na poslední úroveň stromu, kterou možná nepotřebujete.

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




  1. Hibernate Relationship Mapping/Urychlení dávkových vložek

  2. MySQL:Proč escapování nefunguje v operátoru LIKE?

  3. JodaTime s hodnotami JPA, PostgreSQL a NULL

  4. Skript pro nalezení víceúrovňových závislostí balíčku