Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonsoir,
Comment le titre indique, je voulais savoir comment connaitre les différents nom des colonnes d'un rapport.
Exemple :
Soit, j'ai 10 colonnes avec des computes field. je voulais savoir le nom de ces 10 colonnes.
Les colonnes se trouvent au niveau d'une groupe de la datwindow et pas dans le detail.
Merci d'avance !
Dernière modification par mattdamon (14-12-2010 09:13:33)
Hors ligne
Si tu cherches des colonnes, parcours les via un code comme celui là :
datastore uo_ds uo_ds = create datastore uo_ds.dataobject = "dw_dummy_grp" long i, cols string ls_columns[] cols = long( uo_ds.describe("datawindow.column.count") ) for i = 1 to cols //pour une colonne dans le header du groupe 1 if uo_ds.describe("#"+string(i)+".band") = "header.1" then ls_columns[upperbound(ls_columns[])+1] = uo_ds.describe("#"+string(i)+".name") end if next
Sinon, il y a aussi :
//pour un compute dans le header du groupe 1 string ls_objects, ls_ctrl, ls_computes[] ls_objects = uo_ds.describe("DataWindow.Objects") + "~t" //ne pas louper le dernier(ni coder deux fois) i = 1 long j do j = i i = pos(ls_objects, "~t", j+1) if i > 0 then ls_ctrl = mid(ls_objects, j, i - j) if uo_ds.describe( ls_ctrl+".band") = "header.1" & and uo_ds.describe( ls_ctrl+".type") = "compute" then ls_computes[upperbound(ls_computes[])+1] = ls_ctrl end if end if loop while i > 0 destroy uo_ds
Dernière modification par xlat (13-12-2010 21:28:23)
Hors ligne
Bonjour,
merci xlat, c'est exactement que je cherche.
Hors ligne
Bonjour à tous,
Je reviens une autre fois à ce sujet :
La fonction ci-dessous permet de trouver le nom de la colonne dans la datawindow et pas le nom écrit dans la requete SQL !!!
ls_colonne_name = dw.describe("#"+string(li_num)+".name")
Est-ce qu'il y a t'il un moyen de savoir le nom écrit dans la requete de la datawindow.
Merci d'avance les pbadonfeurs
Hors ligne
column.dbname
pour les "vraies" colonnes
peut être préfixé par le nom de la table si la requête en contient plusieurs
Hors ligne