[Résolu] Rafraichir une vue dans un cadre

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

[Résolu] Rafraichir une vue dans un cadre

Messagepar pascal29 » 24 Août 2011 à 08:51

Bonjour,

J'ai un agencement de cadre, on va résumer ça à 2 cadres, gauche et droite.
Celui de gauche sert à la navigation et celui de droite à l'affichage des vues.

A gauche, j'ai mis en place une zone de liste déroulante avec 2 choix possibles qui change une variable d'environnement selon la valeur sélectionnée.

Là où ça coince, c'est que j'aimerais rafraichir une vue selon le choix fait, donc selon la variable d'environnement.
Dans le PostOpen de ma vue j'ai ajouté :
Code : Tout sélectionner
@SetViewInfo([SetViewFilter];@Environment(variable) ;"Site";1)

Tout ça fonctionne très bien à l'ouverture de la base mais impossible de rafraichir la vue après que la variable d'environnement ait changé.

Pour info, j'avais également ajouté dans le QueryRecalc de ma vue ce que j'ai mis dans le PostOpen. Et là j'ai quelques erreurs qui apparraissent ("Evalutations de formules récursives trop nombreuses"), mais au final, après acquittement des erreurs, ma vue se rafraichit bien ...

Si quelqu'un a une idée,
Merci.
Dernière édition par pascal29 le 26 Août 2011 à 07:46, édité 1 fois.
pascal29
Premier posts
Premier posts
 
Message(s) : 34
Inscrit(e) le : 27 Jan 2009 à 15:21

Messagepar roubech » 24 Août 2011 à 12:42

Je suppose que tu positionne ta variable d'environnement sur le onchange de ta liste déroulante. tu as essayé de faire un OpenView juste après ? plutot que de chercher à envoyer un évènement refresh au cadre ou à la vue dans le cadre, tu viens simplement chrger la vue souhaité dans ce cadre et le PostOpen sera de nouveau exécuté ...
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar pascal29 » 25 Août 2011 à 10:16

C'est bien dans le OnChange que je change ma variable d'environnement.
Et oui, j'ai essayé avec un OpenView pour forcer la réouverture mais ça ne change rien.
Ce qui est bizarre, c'est que j'ai accès à d'autre vue via mon cadre de navigation de gauche, et que quand je change de vue et que je reviens sur ma vue que je souhaite rafraichir, ben là, la vue est bien à jour par rapport à la variable d'environnement. Donc d'un coté ça fonctionne mais si je suis obligé de changer de vue pour revenir sur la vue initiale, c'est pas super ...
pascal29
Premier posts
Premier posts
 
Message(s) : 34
Inscrit(e) le : 27 Jan 2009 à 15:21

Messagepar Raziel » 25 Août 2011 à 11:06

Une solution comme ça... elle vaut ce quelle vaut.

1. Dans ta liste déroulante, coche l'option "Raffraichir à chaque nouveau mot clé"
2. Dans ta vue, dans l'évènement PostOpen, tu laisse ton code actuel.
3. Dans le masque contenant ta lsite déroulante, ajoute, dans l'évènement "PostRecalc" le code suivant :
Code : Tout sélectionner
@Environment("nom de ta variable d'environnement";nom de la liste déroulante);
@SetTargetFrame("nom du cadre qui affiche ta vue");
@Command([OpenView]; "Nom de ta vue");
@SetViewInfo([SetViewFilter];@Environment("nom de ta variable d'environnement") ;"Site";1)
Raziel

L'administration est un lieu ou les gens qui arrivent en retard croisent dans l'escalier ceux qui partent en avance. [Georges Courteline]
Avatar de l’utilisateur
Raziel
Modérateur
Modérateur
 
Message(s) : 1795
Inscrit(e) le : 21 Déc 2004 à 11:06
Localisation : Roubaix

Messagepar pascal29 » 26 Août 2011 à 07:45

Ta solution fonctionne Raziel !

Merci à tous.
pascal29
Premier posts
Premier posts
 
Message(s) : 34
Inscrit(e) le : 27 Jan 2009 à 15:21


Retour vers Développement