PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Pb affichage sur table onglet
Pb affichage sur table onglet
Iniciado por turbodi, 14,oct. 2004 20:53 - 2 respuestas
Publicado el 14,octubre 2004 - 20:53
Bonjour,


Tout nouveau utilisateur de windev, je me trouve confronté à un pb crucial pour mon premier développement, à savoir :

J'ai une fenetre 'fiche produit' dans laquelle j'ai une table (intitulé TABLE) listant mes fiches articles et 8 onglets ou je met une table dans chaqu'un d'eux.(cde en cour, commande soldée, historique cde, ...)

lorsque je clique sur une ligne produit je souhaite actualiser l'ensemble des table onglets avec la référence de l'article (qui est une clé idn_produit)

voici un exemple du code :

// on recherche les lignes de détail commande ayant le même id référence
HLitRecherche(Detail_cde_fournisseur,idn_produit,TABLE.idn_produit,hIdentique)

TANTQUE PAS HEnDehors(Detail_cde_fournisseur)
FichierVersTableMemoire(liste_cde_four,Detail_cde_fournisseur)
HLitSuivant(Detail_cde_fournisseur)
FIN
FichierVersEcran(liste_cde_four)

le résultat me renvoie l'ensemble des lignes de la table détail cde sans tenir compte de mon idn_produit.

D'ou viens l'erreur ???

cela fait deux jours que je cherche et ne trouve pas et donc me bloque pour les 7 autres listes.

Merci de votre aide



Thierry
Publicado el 15,octubre 2004 - 00:52
"Thierry" <turbodi@turbodi.net> écrivait news:416ea5b0@news.pcsoft.fr:

lorsque je clique sur une ligne produit je souhaite actualiser
l'ensemble des table onglets avec la r‚f‚rence de l'article (qui est
une cl‚ idn_produit)

voici un exemple du code :

// on recherche les lignes de d‚tail commande ayant le mˆme id
r‚f‚rence



Salut,

Ce que tu fais me semble ++ compliqué !!

Déjà si tes tables sont dans des onglets, inutile de les remplir tant que
l'onglet n'est pas affiché !
Met le code de remplissage dans le code de clic sur l'onglet !
Exemple :
//avec TestSiTableOngletInitialisée un tableau de n booleéen (n étant le
nombre d'onglets)
SELON Onglet
CAS 1 //onglet 1
SI TestSiTableOngletInitialisée[1] ALORS
TestSiTableOngletInitialisé[1] = Vrai
// puis code d'initialisation de la table de l'onglet 1 :
TABLEONGLET1..Filtre=TABLE.idn_produit //ou autre chose
FIN
CAS 2
....

FIN

Au moment du changement de critère :
//RAZ du tableau des booléen qui indique que les tables sont initialisées
Pour Indice=1 à N
TestSiTableOngletInitialisé[Indice] = Faux
FIN
//Puis ici exécution de la procédure qui est appellée dans le code de
clic sur l'onglet ou ExécuteTraitement(Onglet,TrtClic)


Le code que tu n*donnes me parait tres étrange.....

HLitRecherche(Detail_cde_fournisseur,idn_produit,TABLE.idn_produit,hIde
ntique)

TANTQUE PAS HEnDehors(Detail_cde_fournisseur)

****ICI -> Tu ne devrais pas plutôt tester :
TANTQUE HTrouve(Detail_cde_fournisseur)

> FichierVersTableMemoire(liste_cde_four,Detail_cde_fournisseur)
****ICI -> Tu utilises FichierVersTableMemoire en boucle ???
C'est plutot TableAjoute/TableAjouteLigne si tu as des tables mémoires.
Autre solutions :
- tu fais une vue ou une requête et un seul appel à
FichierVersTableMemoire
- Tu fais une requête et une table liée à la requête raffraichit par
TableAffiche
- Tu fais une table fichier et tu filtre le fichiers (HFitre ou propriété
...Filtre)


HLitSuivant(Detail_cde_fournisseur)

****ICI -> Un conseil précise la clé de parcours, sinon en cas de
parcours imbriqus tu risque d'avoir des surprises un de ces 4

FIN
FichierVersEcran(liste_cde_four)

****ICI -> Pourquoi faire ? Utile uniquyement s'il y a d'autre champ
relié au même fichier en dehors de la table à mettre à jour



Concusion :
Refais un tour du coté du guide d'autoformation ;-)

--
En esperant t'avoir aidé.
ted
Publicado el 15,octubre 2004 - 12:37
Mille merci

Cela me correspond parfaitement et j'obtien effectivement le résultat escompté

Thierry