Oracle
 sql >> Base de données >  >> RDS >> Oracle

Tableau de filtre ADF basé sur la sélection d'arbres

Les arborescences ADF peuvent sembler quelque peu trompeuses, mais elles ne reflètent pas réellement les contrôles de données (itérateurs) que vous avez créés dans votre module d'application. Les arbres fonctionnent sur les accesseurs de liens de vue. C'est pourquoi, lorsque vous sélectionnez un nœud d'arbre, les itérateurs ne reçoivent aucune modification.

Si vous souhaitez voir vos accesseurs dans votre projet de modèle, ouvrez un lien de vue entre deux objets de vue adjacents utilisés dans votre hiérarchie. Dans Relation - Accesseurs - Destination, vous verrez le paramètre Nom de l'accesseur. Sa valeur serait le nom du niveau inférieur de l'arborescence. Le même nom que vous verrez dans votre liaison d'arborescence pageDef dans la section Règles de niveau d'arborescence pour le niveau approprié.

Ainsi, même si vous supprimez tous les itérateurs sauf OrgView1Iterator du contrôle de données de votre module d'application, votre arbre fonctionnera toujours (sans parler de la table à droite pour le moment).

Maintenant, pour que votre cas fonctionne.

  1. Dans le contrôle des données de votre module d'application, vous n'aurez besoin que de cette hiérarchie :
    • OrgView1
    • VariablePointViewOrgZoneVariable
      • VariablePointViewOrgZoneVariableVariablePoint

OrgView1 et VariablePointViewOrgZoneVariable sont au niveau racine. VariablePointViewOrgZoneVariableVariablePoint est un enfant de VariablePointViewOrgZoneVariable. Tous les enfants actuels de OrgView1 doivent être supprimés du contrôle des données.

  1. Dans votre liaison de page dans la section Exécutables, cliquez sur vert plus et ajoutez l'itérateur VariablePointViewOrgZoneVariable (par exemple, VariablePointViewOrgZoneVariable1Iterator).

Dans vos exécutables, il devrait y avoir 3 itérateurs :OrgView1Iterator, VariableDataView1Iterator et VariablePointViewOrgZoneVariable1Iterator.

  1. L'élément clé du filtrage est l'attribut Source de données cible. Vous pouvez le trouver dans la liaison de votre arbre. Dans la liaison de votre page dans la section Liaisons, double-cliquez sur OrgView1. Dans les règles au niveau de l'arborescence, sélectionnez VariablePointViewOrgZoneVariable tree et divulguez la source de données cible en bas. Cliquez sur EL Picker, sélectionnez VariablePointViewOrgZoneVariable1Iterator et OK.

Le résultat devrait être ${bindings.VariablePointViewOrgZoneVariable1Iterator}.

  1. Sur votre page, définissez l'attribut partialTrigger de la table pour pointer vers l'arborescence.

Après avoir redémarré, la filtration de votre page devrait fonctionner.

J'ai fait un petit exemple montrant votre cas. Suivez les instructions et vous pouvez l'exécuter sur votre ordinateur ou simplement lire le fichier Lisez-moi. Il applique également la sélection au dernier niveau de l'arborescence, dont vous n'aurez peut-être pas besoin.

https://github.com/ILyaCyclone/adf-tree-to-table -filtreretsélectionner