Page 1 sur 1

Actualisation des données dans une dialogue list

MessagePublié: 26 Mai 2011 à 13:29
par Rubixcube
Contexte : Web v8.5.1

Bonjour,

J'utilise plusieurs dialogue listes dans un masque.
Pour chacune d'entre elles j'ai les cases "Actualiser à chaque nouveau mot clé" de cochées.

- Liste 1

- Liste 2

formule liste 2 :
@If(Departement= NULL ; @Return(NULL) ; @Success);
classe := "Notes";
cache:="NoCache";
vue:="vDEP";
cle:=Departement;
numCol := 5 ;
@Unique(@DbLookup( classe : cache ; @DbName ; vue ; cle ; numcol))

- Liste 3

formule liste 3 :
@If(Entite= NULL ; @Return(NULL) ; @Success);
classe := "Notes";
cache:="NoCache";
vue:="vENTITE";
cle:=Entite;
numCol := 5 ;
@Unique(@DbLookup( classe : cache ; @DbName ; vue ; cle ; numcol))


tout se passe bien, rafraichissement du contenu de la liste 3 lorsque j'effectue un choix dans la liste 2 si valeurs multiples disponibles

dans le cas ou dans la liste 2 je n'ai qu'un choix, la liste 3 ne se met pas à jour.

merci d'avance si vous avez une piste

MessagePublié: 26 Mai 2011 à 13:38
par gouff
Ça semble assez logique, si tu n'as qu'un choix, il n'y a pas d'actualisation car pas de changement.
Soit tu force une valeur nulle sur le combo2, soit tu gère le cas dans la formule du combo3...

MessagePublié: 26 Mai 2011 à 13:49
par roubech
en plus de l'option du champ pour recalculer les listes de choix, tu peux ajouter un onchange sur Departement pour effacer le contenu de Entite
ainsi l'utilisateur devra venir sélectinner une valeur (parmi une liste ne contenant qu'un choix éventuellement) et cela recalculera la liste 3

et comme dit gouff ajouter le choix vide pour permette d'effacer le liste 2 :

[syntax="Formula"]@If( Departement = ""; @Return( "|" : "--- Sélectionnez d'abord un département ---|" ); "" );
tLkp := @DbLookup( "Notes":"NoCache"; ""; "vDep"; Departement; 5 );
@Unique( "|" : @If( @IsError(tLkp); "--- Erreur de parametrage ---|"; tLkp ) )[/syntax]

MessagePublié: 26 Mai 2011 à 14:16
par Rubixcube
Merci pour ta réponse ,on est bien d accord gouff pas de changement => pas d'actualisation

merci beaucoup pour tes explications roubech