sql >> Database teknologi >  >> RDS >> Oracle

ADF-filtertabel baseret på trævalg

ADF-træer kan se noget misvisende ud, men de afspejler faktisk ikke de datakontroller (iteratorer), som du har oprettet i dit applikationsmodul. Træer arbejder på visningslink-adgange. Det er derfor, når du vælger en træknude, får iteratorer ingen ændringer.

Hvis du vil se dine accessorer i dit modelprojekt, skal du åbne et visningslink mellem to tilstødende visningsobjekter, der bruges i dit hierarki. I Relation - Accessors - Destination vil du se Accessor Name parameter. Dens værdi ville være navnet på lavere træniveau. Det samme navn vil du se i din pageDef-træbinding i afsnittet Træniveauregler for passende niveau.

Så selvom du sletter alle iteratorer undtagen OrgView1Iterator fra dit applikationsmoduls datakontrol, vil dit træ stadig fungere (ikke tale om tabellen til højre i øjeblikket).

Nu for at få din sag til at fungere.

  1. I dit applikationsmoduls datakontrol har du kun brug for dette hierarki:
    • OrgView1
    • VariablePointViewOrgZoneVariable
      • VariablePointViewOrgZoneVariableVariablePoint

OrgView1 og VariablePointViewOrgZoneVariable er på rodniveau. VariablePointViewOrgZoneVariableVariablePoint er et underordnet af VariablePointViewOrgZoneVariable. Alle nuværende underordnede af OrgView1 bør fjernes fra datakontrol.

  1. I din sidebinding i sektionen Eksekverbare skal du klikke på det grønne plus og tilføje VariablePointViewOrgZoneVariable iterator (f.eks. VariablePointViewOrgZoneVariable1Iterator).

I dine eksekverbare filer skal der være 3 iteratorer:OrgView1Iterator, VariableDataView1Iterator og VariablePointViewOrgZoneVariable1Iterator.

  1. Nøgledelen af ​​filtrering er attributten Target Data Source. Du kan finde den i din træbinding. Dobbeltklik på OrgView1 i din sidebinding i bindingssektionen. I reglerne på træniveau skal du vælge VariablePointViewOrgZoneVariable-træet og afsløre måldatakilden nederst. Klik på EL-vælger, vælg VariablePointViewOrgZoneVariable1Iterator og OK.

Resultatet skal være ${bindings.VariablePointViewOrgZoneVariable1Iterator}.

  1. På dit sidesæts tabels partialTrigger-attribut for at pege på træet.

Når du har genstartet din side, burde filtreringen virke.

Jeg har lavet et lille eksempel, der viser din sag. Følg instruktionerne, og du kan køre den på din computer eller bare læse readme. Den anvender også valg til det sidste træniveau, som du måske ikke har brug for.

https://github.com/ILyaCyclone/adf-tree-to-table -filterogvælg




  1. Bestilling af punktafgrænsede numeriske sekvenser (f.eks. versionsnumre)

  2. Udtræk data fra XML Clob ved hjælp af SQL fra Oracle Database

  3. Auto-inkrementeret værdi virker ikke i PostgreSQL, når du bruger EntityFramework Core

  4. Problemer med at åbne MDF-fil, fordi den siger SQL-fejl 5171? - Et gæsteindlæg af Andre Williams