Pré-filtrer un panel

filter
panel
Pré-filtrer un panel
0
Tags: #<Tag:0x00007f4a03de2408> #<Tag:0x00007f4a03de21b0>

(Emmanuelle Fenice) #1

Bonjour,

J’essaie de paramétrer un filtre par défaut dans un objet affiché en panel d’un autre objet.
Je veux que ce filtre puisse être supprimé par l’utilisateur pour sa recherche, donc je l’ai défini dans le hook Initsearch, mais il semble que ce hook ne soit pas appelé quand la recherche est faite en panel.

Y a-t-il une autre façon de procéder ?

Simplicité 3.0 maintenance 28

Merci
Emmanuelle


(François Genestin) #2

Si le filtre est positionné dans l’init de liste sur l’instance Panel, il ne pourra pas être retiré par l’utilisateur car il sera toujours repositionné car l’initList est appelé à chaque affichage.

Il faut donc préférer positionner un filtre à la création de l’instance Panel dans le postLoad appelé une seule fois par instance. Il faut tester l’instance pour positionner le filtre sur la bonne liste, qq exemples de test communément utilisés :

if (this.isPanelInstance()) // any panel
if (this.isChildOf("parent")) // or a panel linked to a specific parent
if (this.isChildOf("parent", "refField")) // or a parent thru a specific foreign key 
    this.setFieldFilter("field", "filter");

(Emmanuelle Fenice) #3

Merci pour ta réponse, ça fonctionne.

Ce ticket peut être clos

Emmanuelle