Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Tabela de filtros ADF com base na seleção de árvore


As árvores ADF podem parecer um pouco enganosas, mas na verdade não refletem os controles de dados (iteradores) que você criou em seu módulo de aplicativo. As árvores funcionam em acessadores de links de visualização. É por isso que quando você seleciona um nó de árvore, os iteradores não obtêm nenhuma alteração.

Se você quiser ver seus acessadores em seu projeto de modelo, abra um link de exibição entre quaisquer dois objetos de exibição adjacentes usados ​​em sua hierarquia. Em Relacionamento - Acessadores - Destino você verá o parâmetro Nome do Acessório. Seu valor seria o nome do nível inferior da árvore. O mesmo nome que você verá em sua ligação de árvore pageDef na seção Regras de Nível de Árvore para o nível apropriado.

Portanto, mesmo que você exclua todos os iteradores, exceto OrgView1Iterator, do controle de dados do módulo do aplicativo, sua árvore ainda funcionará (não falando sobre a tabela à direita no momento).

Agora, para fazer seu caso funcionar.
  1. No controle de dados do seu módulo de aplicação você só precisará desta hierarquia:
    • OrgView1
    • VariablePointViewOrgZoneVariable
      • VariablePointViewOrgZoneVariableVariablePoint

OrgView1 e VariablePointViewOrgZoneVariable estão no nível raiz. VariablePointViewOrgZoneVariableVariablePoint é um filho de VariablePointViewOrgZoneVariable.Todos os filhos atuais de OrgView1 devem ser removidos do controle de dados.
  1. Na vinculação de página na seção Executables, clique em verde e adicione o iterador VariablePointViewOrgZoneVariable (digamos, VariablePointViewOrgZoneVariable1Iterator).

Em seus Executables deve haver 3 iteradores:OrgView1Iterator, VariableDataView1Iterator e VariablePointViewOrgZoneVariable1Iterator.
  1. A parte principal da filtragem é o atributo Target Data Source. Você pode encontrá-lo em sua ligação de árvore. Na ligação de sua página na seção Ligações, clique duas vezes em OrgView1. Nas regras de nível de árvore, selecione a árvore VariablePointViewOrgZoneVariable e divulgue a Origem de dados de destino na parte inferior.Clique em EL Picker, selecione VariablePointViewOrgZoneVariable1Iterator e OK.

O resultado deve ser ${bindings.VariablePointViewOrgZoneVariable1Iterator}.
  1. Na sua página, defina o atributo partialTrigger da tabela para apontar para a árvore.

Depois de reiniciar sua filtragem de página deve funcionar.

Eu fiz um pequeno exemplo mostrando seu caso. Siga as instruções e você pode executá-lo em seu computador ou apenas ler o leia-me. Ele também aplica a seleção ao último nível da árvore, do qual você pode não precisar.

https://github.com/ILyaCyclone/adf-tree-to-table -filtrar e selecionar