Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
Je cherche à modifier l'affichage des valeurs dans une datawindows treeview selon les valeurs que contiennent mes champs. Par exemple si mon champs truc est égale à 0 je voudrais que toute la ligne soit marqué en gras.
j'ai tenté un :
FOR ll_row = 1 to dw_truc.rowcount() if dw_truc.object.truc[ll_row] = 0 then dw_truc.object.truc.font.Weight = 700 dw_truc.object.bidule.font.Weight = 700 dw_truc.object.machin.font.Weight = 700 dw_truc.object.gloubiboulga.font.Weight = 700 end if NEXT
mais comme vous pouvez le voir sur mon code absolument tout les champs sont modifié en gras ....
j'ai tenté des choses pas catholiques directement dans la datawindows dans la propriété color :
if( n_semaine[0] = 0, rgb( 255, 0, 0), rgb( 0, 255, 0) )
mais ca ne fait rien.
j'ai tenté un :
case( truc when 0 then RGB(0,0,255) when -1 then RGB(255,0,0) else (RGB(0,0,0)))
dans l'expression text Color de ce champ sans succés
Si vous avez une solution je suis tout ouïe
Merci
Dernière modification par jipé (26-05-2010 14:34:00)
Hors ligne
J'ai trouvé ! pour les intéressés il faut faire un :
dw_truc.Modify("truc.Font.Weight='700 ~t if(truc=0,700,400)' ")
dans ce code on met le champs truc en gras (valeur à 700) quand celui-ci vaut 0 et sinon en normal (400)
Hors ligne
N'oublie pas de modifier le titre de ton premier message en ajoutant [RESOLU] devant
Hors ligne
Tu peux également le faire directement dans la datawindow avec une expression au niveau de la propriété bold du genre
if(mon_champ = 0,'700','400'). Ceci dit, on perd le côté dynamique par rapport à ta solution codée au niveau de la DW control.
Hors ligne