|
| Inicio → WINDEV 2025 → Problème d'affichage de valeur initiale d'une combo remplie par une requête paramétrée |
| Problème d'affichage de valeur initiale d'une combo remplie par une requête paramétrée |
| Iniciado por ltvidel, 15,oct. 2013 19:23 - 4 respuestas |
| |
| | | |
|
| |
Miembro registrado 3 mensajes |
|
| Publicado el 15,octubre 2013 - 19:23 |
Bonjour,
Je rencontre un problème lors de l'initialisation d'un combo lié à une requête paramétrée.
Pour faire simple : - j'affiche une table, qui affiche toutes les prestations réalisée pour un client (un ligne = une presta, avec tous ses détails). - quand je sélectionne une ligne, et clique sur "modifier", une nouvelle fenêtre apparait. Elle contient des champs de saisie (saisie texte et combo), tous liés à ma table : date, montant de la presa, type de presta, ... .
Grâce à ces liens, tous les champs sont "pré-remplis" à l'ouverture de la fenêtre, en fonction de la ligné sélectionnée lors de l'appui sur le bouton "modifier".
Par contre, il y a un champ, qui n'est jamais rempli à l'ouverture : il s'agit d'un des champs combo (nommé "option").
La particularité de ce champ combo est qu'il est rempli en fonction de ce qui a été sélectionné sur la combo juste au dessus (il s'agit de ne proposer à l'utilisateur que les options de prestation correspondant à la prestation qu'il a choisie juste au dessus)
Je précise que : - lors de la manipulation du combo "option", je ne constate aucun dysfonctionnement : il affiche bien les options correspondant à la prestation sélectionnée juste au dessus (même quand je change la presta sélectionnée) - le remplissage de cette combo "option" est fait à partir d'une requête globale avec un paramètre, que je passe sans problème, et qui fonctionne très bien. - lors de l'affichage de la fenêtre, je récupère bien l'enregistrement correspondant à cette combo (je l'ai vérifé à l'aide d'une commande "info(HRécupèreEnregistrement(...)) : c'est juste l'affichage qui ne veut pas se faire - lorsque cette combo "option" n'est pas rempli via ma requête (je la remplis directement à partir d'une table), alors l'affichage se fait normalement. Par contre, il n'a pas le comportement choisi, à savoir qu'il affiche toutes les options, sans se préoccuper du type de presta sélectionné.
Quelqu'un a-t-il une idée, pour expliquer pourquoi ce seul champ refuse de se remplir, dès qu'il est lié à ma requête ?
Je vous remercie ! |
| |
| |
| | | |
|
| | |
| |
| Publicado el 16,octubre 2013 - 11:40 |
Bonjour, Le code qui initialise tout ça, il est dans le code d'Init de la fenêtre, ou il est dispatché dans les codes d'Init des combo ? Si c'est la 2ème option, c'est probablement là le bug. Probablement, le code d'init de la combo 'fille' s'exécute avant le code d'init de la combo 'mère'.
En particulier, un truc un peu piège, c'est que le code d'init des champs d'une fenêtre s'exécute AVANT le code d'init de la fenêtre (mais après le code des déclarations globales de la fenêtre) |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 3 mensajes |
|
| Publicado el 16,octubre 2013 - 17:25 |
Bonjour,
Merci pour cette première réponse.
L'initialisation des champs se fait dans l'initialisation du Super Champ qui les contient. La rubrique d'initialisation des 2 combos liées est vide. Donc le problème ne vient pas de là à priori.
D'autres idées ? |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 3 mensajes |
|
| Publicado el 17,octubre 2013 - 10:52 |
Bonjour,
Au final, j'ai contourné le problème... (cf solution ci-dessous).
Mais du coup, je me demande si c'est pas le RAD qui m'a mis le bazard... J'en finis par me demander si le RAD n'est pas à proscrire dès que l'on veut obtenir un fonctionnement un peu évolué.
Solution de contournement : - je configure la combo "option" pour qu'elle soit remplie par programmation - je la remplis avec une boucle qui lit le fichier à laquelle elle est liée - je recherche, dans l'enregistrement sélectionné dans la table, quelle est la valeur de "option" (extraitchaine(hrecupereenregistrement(x)) - je cherche dans la combo où est cette valeur (listecherche) - j'affiche dans la combo cette valeur (combo_option=listecherche(x)) |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 2 mensajes |
|
| Publicado el 19,diciembre 2018 - 12:35 |
| |
| |
| | | |
|
| | | | |
| | |
|