Après windows pour les nuls, voici PB pour les bons (ou presque).

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 27-04-2007 15:57:23

Curios  
Membre Geek
Date d'inscription: 27-04-2007
Messages: 24
Pépites: 149
Banque: 0

[RESOLU] Acceder à tous mes objets d'une datawindow

Bonjour,

Je souhaiterais accèder à tous les objets d'une datawindow sans connaitre le nom de l'objet.

Par exemple si j'ai une colonne DateFacture et une zone texte Date de Facture

Ma colonne j'arriverais à y accèder avec la commande:
i = 1 //1,2,3,4,5,6,7,8,9,10
ls_nomObjet = maDataWindow.Describe("#"+string(i)+".Name")

Par contre je n'arrive pas à accèder à mon champ texte.

Le but de la manoeuvre est de pouvoir déplacer tous les champs d'un header de 100 vers le haut par exemple en dynamique, car le jour où je rajoute une colonne je n'aurais pas à rajouter une ligne de code.

Pour information je débute au niveau de powerbuilder alors ne soyez pas trop dur.

Merci d'avance.

Dernière modification par Curios (11-09-2008 14:41:40)

Hors ligne

 

#2 27-04-2007 16:04:30

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] Acceder à tous mes objets d'une datawindow

Salut, jette un coup d'oeil à ce script

fais ton traitement selon la valeur de ls_type

bon courage


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#3 27-04-2007 16:48:46

Curios  
Membre Geek
Date d'inscription: 27-04-2007
Messages: 24
Pépites: 149
Banque: 0

Re: [RESOLU] Acceder à tous mes objets d'une datawindow

Merci avec ça je vais pouvoir me débrouiller.

Hors ligne

 

#4 11-09-2008 14:18:59

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] Acceder à tous mes objets d'une datawindow

n'oublie pas le [RESOLU]


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#5 12-09-2008 09:46:21

nico  
Modérateur
Award: bf
Lieu: Plélan le grand
Date d'inscription: 08-02-2007
Messages: 273
Pépites: 13
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Acceder à tous mes objets d'une datawindow

Bonjour,

Tu peux essayer ça

Code: pb

Long ll_Index, ll_nb_Control,  ll_next_index, ll_found_index
String ls_text, ls_objects, ls_colonne
string       ls_liste_object[], ls_vide[]
string       ls_separateur = "~t"
datastore  ds_1

//datastore à laquelle tu veux accéder
ds_1 = create datastore
ds_1.Dataobject = 'Ta_datawindows'
ds_1.settransobject(sqlca)

//Récupère les objets de ds_1
ls_objects = ds_1.Object.DataWindow.Objects  

ls_liste_object = ls_vide

if len(ls_objects) > 0 then
          
  ll_found_index = 1
  
  ll_next_index = pos(ls_objects, ls_separateur, ll_found_index)
  do while ll_next_index > 0
      ls_liste_object[upperbound(ls_liste_object) + 1] = mid(ls_objects, ll_found_index, ll_next_index - ll_found_index)
      ll_found_index = ll_next_index + 1
      ll_next_index = pos(ls_objects, ls_separateur, ll_found_index)
  loop
  ls_liste_object[upperbound(ls_liste_object) + 1] = mid(ls_objects, ll_found_index, len(ls_objects))
end if

//Parcour le tableau contenant chaque objet

ll_nb_Control = upperbound(ls_liste_object)
for ll_Index = 1 to ll_nb_Control
        
  ls_colonne  = ls_liste_object[ll_Index]
  ls_text      = ''
  
  //Récupère le text de ton objet
  ls_text     = ds_1.Describe(ls_colonne+".text")
  If ls_text <> '!' then
    
  End if
  

next

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22