Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour
J'ai 56 combobox dans un écran(Combo ayant les mêmes données) et j'aimerai crée un code dynamique pour accéder à chacun de ces objets pour les renseigner. Chaque composant est nommé de la maniére suivante Cb_1 à Cb_56
Comment puis je accéder à ces objets pour les rensigner?
Je vous remercie
Dernière modification par CptSpok (14-03-2008 10:55:00)
Hors ligne
tu dois mettre quoi comme renseignement ?
Hors ligne
Je veux mettre les éléments Bon Mauvais dans chaque combobox.
Puis je veut lire toutes ces Combobox pour voir le résultat de la saisie, pour la stocker en base.
Hors ligne
c'est possible d'avoir un apercu d'ecran de tout ca ? juste par curiosité
sinon, il suffit de declarer une variable d'objet en tableau
et d'affecter 56 fois.... et apres, il ne te reste plus qu'à modifier via ces variables.
Hors ligne
CptSpok a écrit:
Je veux mettre les éléments Bon Mauvais dans chaque combobox.
Puis je veut lire toutes ces Combobox pour voir le résultat de la saisie, pour la stocker en base.
Attention. Tes combos sont posées directement sur une fenêtre (solution est à bannir) ou parles-tu de dropdownlistbox à l'intérieur d'une DW ?
Il vaut mieux privilégier une DW avec pour source de donnée une requete SQL sur la table contenant le résultat de tes combos (ou une source externe si tu ne veux ou ne peux pas mettre à jour la base directement).
Ensuite dans la DW, tu peux définir la présentation de chaque colonne dans l'onglet "Edition" des propriétés de la colonne.
Pour représenter une combo tu as deux solutions : soit une dropdownlistbox (DDLB), soit une dropdowndatawindow (DDDW) cette dernière ayant l'avantage de pourvoir baser sa liste de valeurs directement sur une source de données (une DW) et la manipulation des données est beaucoup plus simple que la DDLB.
Une fois les DDLB ou les DDDW posées, pour lire les données de chaque combo, il suffit de faire un getitem.
Pour ajouter, lire ou supprimer des données d'une DDDW, il suffit d'utiliser les fonction getchild puis respectivement setitem, getitem ou deleterow.
Voir l'aide PB pour le détail des fonctions et les exemples....
Sinon
ou vient faire un petit stage chez N2I de deux jours pour pas cher
Hors ligne
pour l'apercu d'écran je ne sais pas comment le rajouter simplement à la réponse.
Mais est ce que l'on ne pourrait pas faire quelque chose de ce type comme en Delphi, ou l'on accede facilement à tous les objets de la form
Var Temp: TComponent; begin Temp := Components[0]; if Temp is TComboBox Then Begin (temp as TComboBox).Items.Add('B'); End;
Hors ligne
pour l'image, tu fais une copie d'ecran, et tu heberges via imageshark...
Hors ligne
Les droits d'accés au net sont trop restrictif pour y accéder
Hors ligne
envoyes le sur mon mail : titi_parisien@hotmail.com
Hors ligne
c'est donc une serie de dropdown incluse dans un objet datawindow ?
Hors ligne
Ce sont des dropdownlistbox posé dans une window
Hors ligne
voila un bout de code...
tu le declares en tant que fonction de la fenetre.
avec ca, il y a moyen d'arriver à tes fins ?
long ll_count, ll_nbs dropdownlistbox lddl_dp ll_nbs = upperbound(this.Control) for ll_count = 1 to ll_nbs CHOOSE CASE TypeOf(this.Control[ll_count]) case dropdownlistbox! lddl_dp = this.Control[ll_count] messagebox("nom de la dropdownlistbox",lddl_dp.className()) end choose next
Hors ligne
Merci à tous
Hors ligne