Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
voici le problème :
Sur un double clic sur une colonne dans le header d'un groupe, j'essaie d'en lire la valeur.
Sur le bandeau j'ai row = 0 ce qui est normal puisque je ne clique pas sur une ligne mais sur le header d'un groupe.
Dans l’événement doubleclicked, J'ai bien dwo.type = "column" et le dwo.Name qui est bien celui de la colonne mais impossible de trouver comment récupérer la valeur qui est pourtant affichée à l'écran.
Cordialement.
Dernière modification par FlorentP (05-12-2013 12:12:47)
Hors ligne
string ls_oap, ls_nom int li_pos, li_row ls_oap = trim(getObjectAtPointer()) if not isNull(ls_oap) and ls_oap <> '' then li_pos = pos(ls_oap,'~t') if li_pos > 0 then ls_nom = left(ls_oap,li_pos - 1) li_row = integer(right(ls_oap,len(ls_oap) - li_pos)) end if end if
ls_nom va te donner le nom de l'objet sur lequel tu as cliqué (mais ça tu l'as déjà)
li_row va te donner la row adéquate pour faire un getItemXXX
Sachant que la valeur affichée dans le group header est celle de la première row du groupe, donc li_row
Dernière modification par _francois_ (05-12-2013 12:44:20)
Hors ligne
Comportement normal pour un header...
Si c'est une colonne, il faut prendre la valeur sur la "vraie ligne" de détail suivante, en utilisant GetObjectAtPointer:
ls_object = This.GetObjectAtPointer( ) ll_row = Long( Mid( ls_object, ( Pos( ls_object, '~t', 1 ) + 1), 3) // récup valeur( ll_row, dwo.Name )
Edit : so close
Hors ligne
Vous êtes rapides !
En parcourant la doc de GetObjectAtPointer je suis tombé sur GetBandAtPointer qui ressemble beaucoup.
Comme disait ma mère, vaut mieux un qui sait que cent qui cherchent !
Bravo les gars.
Dernière modification par FlorentP (05-12-2013 22:43:25)
Hors ligne