Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
bonjour,
J'ai mis oval control dans un dataobject, ensuite j'ai voulu mettre dans le constructeur de la datawindow ceci :
This.uo_dw_liste.dw_liste.modify("oval_etat.brush.color='0~tif(cod_etat = 20 and anomalie = String('N')," + string(gnuo_global.gnuo_couleur.col_blanc )+","+string(gnuo_global.gnuo_couleur.col_blanc ) +")'")
cela ne fonctionne pas car je ne sais pas comment codé un IF si à l'intérieur je fais une condition sur un String.
Merci d'avance
Dernière modification par poche (28-02-2008 16:21:28)
Hors ligne
Message de modération : prière de prendre connaissance de la charte d'utilisation, et en particulier
* utilisation de [RESOLU] => modifiez votre message de ce matin
* balise de code PB => modifiez dans votre message ci-dessus
Nous ne sommes pas formalistes, mais dans le respect du forum et des autres utilisateurs, merci de bien vouloir suivre ces qq points, d'autant que cela a déjà été demandé à de maintes reprises.
EDIT : sans oublier de placer les sujets dans les bonne rubriques (en l'occurence Datawindow et Datastore)
Hors ligne
poche a écrit:
je ne sais pas comment codé un IF si à l'intérieur je fais une condition sur un String.
Merci d'avance
Le mieux est que tu le fasses en directe sur un DW et que tu recuperes le code dans l'export.
( quite à modifier avec des "" et les gnuo_global.gnuo_couleur ... )
Hors ligne
Vaux mieux que je le code sur pb car en fait mon IF est beaucoup, beaucoup plus long que ça...
Et on m'a dis de le mettre dans pb, je n'ai pas e choix...
Donc comment faire??
Hors ligne
poche a écrit:
je ne sais pas comment codé un IF si à l'intérieur je fais une condition sur un String.
Merci d'avance
Le mieux ( si tu veux avoir un exemple ) est que tu le fasses en directe sur un DW et que tu recuperes le code dans l'export ( pour le mettre dans du script pb )
( quite à modifier avec des "" et les gnuo_global.gnuo_couleur ... )
Hors ligne
Ok, Merci
Hors ligne
JCZ a écrit:
poche a écrit:
je ne sais pas comment codé un IF si à l'intérieur je fais une condition sur un String.
Merci d'avanceLe mieux ( si tu veux avoir un exemple ) est que tu le fasses en directe sur un DW et que tu recuperes le code dans l'export ( pour le mettre dans du script pb )
( quite à modifier avec des "" et les gnuo_global.gnuo_couleur ... )
Et comment faire sa??
Hors ligne
poche a écrit:
bonjour,
J'ai mis oval control dans un dataobject, ensuite j'ai voulu mettre dans le constructeur de la datawindow ceci :Code: pb
This.uo_dw_liste.dw_liste.modify("oval_etat.brush.color='0~tif(cod_etat = 20 and anomalie = String('N')," + string(gnuo_global.gnuo_couleur.col_blanc )+","+string(gnuo_global.gnuo_couleur.col_blanc ) +")'")cela ne fonctionne pas car je ne sais pas comment codé un IF si à l'intérieur je fais une condition sur un String.
Merci d'avance
Pour moi le problème vient de ton String('N') car du coup tu inclus des ' au milieu de '.
Essaye de les "tilder" (et je ne vois pas l'intéret d'utiliser la fonction String avec 'N' ?)
This.uo_dw_liste.dw_liste.modify("oval_etat.brush.color='0~tif(cod_etat = 20 and anomalie = ~'N~'," + string(gnuo_global.gnuo_couleur.col_blanc )+","+string(gnuo_global.gnuo_couleur.col_blanc ) +")'")
Hors ligne
Je viens d'essayer et ça ne marche pas...
Hors ligne
J'ai autre chose qui m'intrigue. Tu dis être sur le constructeur de la datawindow et tu fais référence à This.uo_dw_liste.dw_liste....
Tu es sur le constructor de quelle DW ? Car ton modify se rapporte au dataobject de DW_LISTE qui n'est pas ta DW mais en instance dans UO_DW_LISTE. Es-tu certain que ce dataobject est bien affecté lors du constructor de ta DW sur lequel tu as codé ton script ? J'ai un gros doute....
Hors ligne
En effet, je suis sur le constructeur d'un objet qui contient une DW!!
Hors ligne
Le dataobject est-il affecté ou pas à ta DW_LISTE dans le constructor de ton objet ? A priori non...
Hors ligne
Non
Hors ligne
Donc en résumé, tu essaies d'appliquer la méthode modify sur un control datawindow sans dataobject et tu t'étonnes que cela ne donne rien... C'est bien ça ?
Hors ligne
Mais non, j'ai bien un dataobject!!!
Hors ligne
Essaye ca...peut etre.
This.uo_dw_liste.dw_liste.object.ordre_fab.oval_etat.brush.color= gnuo_global.gnuo_couleur.col_blanc+"~tif( cod_etat = 20 and anomalie = 'N',"+gnuo_global.gnuo_couleur.col_blanc +","+gnuo_global.gnuo_couleur.col_blanc+")"
Au fait je sais pas si c'est normal , mais dans ton code tu mets soit la couleur blanc soit la couleur blanc ?! Moi j'ai laissé comme ca mais bon..
d'autre part, si ta variable col_blanc n'est pas un string remet string(gnuo_global.gnuo_couleur.col_blanc) au lieu de gnuo_global.gnuo_couleur.col_blanc.
Tiens au jus
See you
Hors ligne
ça ma mi un gros msg d'erreur!!!
Hors ligne
Lequel ?
Hors ligne
J'ai trouvé, il fallait mettre deux ~~ :
This.uo_dw_liste.dw_liste.modify("oval_etat.brush.color='0~tif(cod_etat = 20 and anomalie = ~~'N~~')," + string(gnuo_global.gnuo_couleur.col_blanc )+","+string(gnuo_global.gnuo_couleur.col_blanc ) +")'")
Merci quand même pour votre aide
Hors ligne
Tu n'oublieras pas de mettre [RESOLU]
Hors ligne