Gli alberi ADF possono sembrare alquanto fuorvianti, ma in realtà non riflettono i controlli dati (iteratori) che hai creato nel modulo dell'applicazione. Gli alberi funzionano sulle funzioni di accesso dei collegamenti di visualizzazione. Ecco perché quando selezioni un nodo ad albero, gli iteratori non ottengono alcuna modifica.
Se vuoi vedere le tue funzioni di accesso nel tuo progetto Modello, apri un collegamento vista tra due oggetti vista adiacenti utilizzati nella tua gerarchia. In Relazione - Accessors - Destinazione vedrai il parametro Accessor Name. Il suo valore sarebbe il nome del livello inferiore dell'albero. Lo stesso nome che vedrai nella tua associazione ad albero pageDef nella sezione Regole a livello di albero per il livello appropriato.
Quindi, anche se elimini tutti gli iteratori tranne OrgView1Iterator dal controllo dati del modulo dell'applicazione, il tuo albero funzionerebbe comunque (non parlando della tabella a destra al momento).
Ora per far funzionare il tuo caso.
- Nel controllo dei dati del modulo dell'applicazione avrai solo bisogno di questa gerarchia:
- OrgView1
- VariablePointViewOrgZoneVariable
- VariablePointViewOrgZoneVariableVariablePoint
OrgView1 e VariablePointViewOrgZoneVariable sono a livello radice. VariablePointViewOrgZoneVariableVariablePoint è un elemento figlio di VariablePointViewOrgZoneVariable. Tutti gli elementi figlio correnti di OrgView1 devono essere rimossi dal controllo dati.
- Nel collegamento della pagina nella sezione Eseguibili, fai clic su più verde e aggiungi VariablePointViewOrgZoneVariable iterator (ad esempio, VariablePointViewOrgZoneVariable1Iterator).
Nei tuoi eseguibili dovrebbero esserci 3 iteratori:OrgView1Iterator, VariableDataView1Iterator e VariablePointViewOrgZoneVariable1Iterator.
- La parte fondamentale del filtraggio è l'attributo dell'origine dati di destinazione. Puoi trovarlo nella tua rilegatura ad albero. Nella rilegatura della pagina nella sezione Associazioni fai doppio clic su OrgView1. Nelle regole a livello di albero, seleziona l'albero VariablePointViewOrgZoneVariable e mostra l'origine dati di destinazione in basso. Fai clic su EL Picker, seleziona VariablePointViewOrgZoneVariable1Iterator e OK.
Il risultato dovrebbe essere ${bindings.VariablePointViewOrgZoneVariable1Iterator}.
- Nella tua pagina imposta l'attributo partialTrigger della tabella in modo che punti all'albero.
Dopo il riavvio, il filtraggio della pagina dovrebbe funzionare.
Ho fatto un piccolo esempio che mostra il tuo caso. Segui le istruzioni e puoi eseguirlo sul tuo computer o semplicemente leggere il readme. Applica anche la selezione all'ultimo livello dell'albero, che potrebbe non essere necessario.
https://github.com/ILyaCyclone/adf-tree-to-table -filtra e seleziona