ADF-träd kan se något missvisande ut, men de återspeglar faktiskt inte de datakontroller (iteratorer) som du har skapat i din applikationsmodul. Träd fungerar med accessorer för vylänkar. Det är därför när du väljer en trädnod får iteratorer inga ändringar.
Om du vill se dina accessorer i ditt modellprojekt öppnar du en vylänk mellan två intilliggande vyobjekt som används i din hierarki. I Relation - Accessorer - Destination ser du parametern Accessor Name. Dess värde skulle vara namnet på lägre trädnivå. Samma namn kommer du att se i din pageDef-trädbindning i avsnittet Regler för trädnivå för lämplig nivå.
Så även om du tar bort alla iteratorer utom OrgView1Iterator från din applikationsmoduls datakontroll, så skulle ditt träd fortfarande fungera (inte talar om tabellen till höger för tillfället).
Nu för att få ditt ärende att fungera.
- I din applikationsmoduls datakontroll behöver du bara denna hierarki:
- OrgView1
- VariablePointViewOrgZoneVariable
- VariablePointViewOrgZoneVariableVariablePoint
OrgView1 och VariablePointViewOrgZoneVariable är på rotnivå. VariablePointViewOrgZoneVariableVariablePoint är ett underordnat av VariablePointViewOrgZoneVariable. Alla nuvarande underordnade av OrgView1 bör tas bort från datakontrollen.
- I din sidbindning i avsnittet Executables klickar du på grönt plus och lägger till VariablePointViewOrgZoneVariable iterator (säg VariablePointViewOrgZoneVariable1Iterator).
I dina körbara filer bör det finnas 3 iteratorer:OrgView1Iterator, VariableDataView1Iterator och VariablePointViewOrgZoneVariable1Iterator.
- Nyckeldelen av filtrering är attributet Target Data Source. Du kan hitta den i din trädbindning. Dubbelklicka på OrgView1 i din sidbindning i bindningssektionen. I regler på trädnivå väljer du VariablePointViewOrgZoneVariable-trädet och avslöjar Target Data Source längst ned. Klicka på EL-väljaren, välj VariablePointViewOrgZoneVariable1Iterator och OK.
Resultatet bör vara ${bindings.VariablePointViewOrgZoneVariable1Iterator}.
- På din siduppsättningstabells partialTrigger-attribut för att peka på trädet.
När du har startat om bör sidfiltreringen fungera.
Jag har gjort ett litet exempel som visar ditt fall. Följ instruktionerna så kan du köra det på din dator eller bara läsa igenom readme. Den tillämpar också val på den sista trädnivån, vilket du kanske inte behöver.
https://github.com/ILyaCyclone/adf-tree-to-table -filtrera och välj