Drzewa ADF mogą wyglądać nieco mylące, ale w rzeczywistości nie odzwierciedlają kontrolek danych (iteratorów), które utworzyłeś w module aplikacji. Drzewa działają na akcesorach linków widoku. Dlatego po wybraniu węzła drzewa iteratory nie dostają żadnych zmian.
Jeśli chcesz zobaczyć swoje akcesory w projekcie modelu, otwórz łącze widoku między dowolnymi dwoma sąsiadującymi obiektami widoku używanymi w hierarchii. W Relationship - Accessors - Destination zobaczysz parametr Accessor Name. Jego wartością byłaby nazwa niższego poziomu drzewa. Ta sama nazwa, którą zobaczysz w swoim drzewie pageDef w sekcji Reguły poziomu drzewa dla odpowiedniego poziomu.
Więc nawet jeśli usuniesz wszystkie iteratory oprócz OrgView1Iterator z kontroli danych modułu aplikacji, twoje drzewo nadal będzie działać (nie mówiąc w tej chwili o tabeli po prawej stronie).
Teraz spraw, aby Twoja sprawa działała.
- W kontroli danych modułu aplikacji będziesz potrzebować tylko tej hierarchii:
- OrgView1
- VariablePointViewOrgZoneVariable
- VariablePointViewOrgZoneVariableVariablePoint
OrgView1 i VariablePointViewOrgZoneVariable znajdują się na poziomie głównym. VariablePointViewOrgZoneVariableVariablePoint jest dzieckiem zmiennej VariablePointViewOrgZoneVariable. Wszystkie obecne elementy podrzędne OrgView1 powinny zostać usunięte z kontroli danych.
- W powiązaniu strony w sekcji Pliki wykonywalne kliknij zielony plus i dodaj iterator VariablePointViewOrgZoneVariable (powiedzmy, VariablePointViewOrgZoneVariable1Iterator).
W plikach wykonywalnych powinny być 3 iteratory:OrgView1Iterator, VariableDataView1Iterator i VariablePointViewOrgZoneVariable1Iterator.
- Kluczowym elementem filtrowania jest atrybut Docelowe źródło danych. Możesz go znaleźć w wiązaniu drzewa. W wiązaniu strony w sekcji Wiązania kliknij dwukrotnie OrgView1. W regułach na poziomie drzewa wybierz drzewo VariablePointViewOrgZoneVariable i ujawnij docelowe źródło danych na dole. Kliknij EL Picker, wybierz VariablePointViewOrgZoneVariable1Iterator i OK.
Wynik powinien być ${bindings.VariablePointViewOrgZoneVariable1Iterator}.
- Na stronie ustaw atrybut PartTrigger tabeli, aby wskazywał na drzewo.
Po ponownym uruchomieniu filtrowanie stron powinno działać.
Zrobiłem mały przykład pokazujący twój przypadek. Postępuj zgodnie z instrukcjami i możesz uruchomić go na swoim komputerze lub po prostu przeczytać readme. Dotyczy to również wyboru do ostatniego poziomu drzewa, którego możesz nie potrzebować.
https://github.com/ILyaCyclone/adf-tree-to-table -filtr i wybór