Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
bonjour,
je veux construire ma datawindow grid a partir du powerscript (ou du moins la remplir)
j'ai essayé avec un setitem mais ça marche pas... est ce que cela est possible?
merci
Dernière modification par disneb (17-09-2008 17:02:08)
Hors ligne
c'est à dire ? As-tu un objet dataobject ?
Hors ligne
j'ai une datawindow grid avec 3 colonnes que je mets dans une fenetre
Hors ligne
Possible de voir l'edit source de celle-ci et ton code ?
Hors ligne
avant de faire un SetItem il faut faire un InsertRow...
Hors ligne
this.insertrow(0) dw_bilan.setItem(1,1,"ACTIF IMMOBILISE (NON COURANT)")
même avec l'insertrow ça marche pas
Hors ligne
Long ll_newrow Integer li_ret ll_newrow = This.insertrow(0) li_ret = This.setitem(ll_newrow,1, "blablabla") If li_ret = -1 Then Messagebox("Prob", "J'ai un prob") End If
La méthode insertrow(0) insére une ligne à la fin. Pour savoir laquelle, il faut récupérer sa valeur, ce que fait ce code.
Je suppose que ta première colonne est de type string.
Dernière modification par cposervices (17-09-2008 15:37:07)
Hors ligne
long ll_row ll_row = this.insertrow(0) dw_bilan.setitem(ll_row,'nom de ta colonne ou numero de la colonne', "ACTIF IMMOBILISE (NON COURANT)")
oups, trop lent...
Hors ligne
Au fait, un coup tu utilises This et la ligne d'après dw_bilan. This=dw_bilan, I hope.
Hors ligne
comme ma datawindow était vide donc un insertrow(0) retournait bien 1, j'ai revu mon code et j'ai suivi ce que vous m'avez conseillé (récupérer le n° de la ligne), mais c'est toujours pareil il m'insert bien les lignes mais elles sont vide
Hors ligne
et le settransobjet ?
bon, fais un import de ton code. et de ta dw
Hors ligne
j'ai testé le setItem il me retourne -1
ma colonne est une computed field est ce que ça vient pas de la?
Hors ligne
long row, test this.setransobject(sqlca) row=this.insertrow(0) test=this.setItem(row,'col_1',"ACTIF IMMOBILISE (NON COURANT)") messagebox('test', test)
voila le code... alors il m'insere bien la ligne mais pour le setitem j'ai un -1
voila donc
Dernière modification par disneb (17-09-2008 16:20:02)
Hors ligne
et ta dw ? fais nous un import. qu'on regarde.
surtout que la, c'est un probleme basique...
Hors ligne
release 10.5; datawindow(units=0 timer_interval=0 color=1073741824 processing=1 HTMLDW=no print.printername="" print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.canusedefaultprinter=yes print.prompt=no print.buttons=no print.preview.buttons=no print.cliptext=no print.overrideprintjob=no print.collate=yes print.preview.outline=yes hidegrayline=no grid.lines=0 ) header(height=80 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=84 color="536870912" ) table(column=(type=char(200) updatewhereclause=yes name=int_ecriture dbname="ecriture.int_ecriture" ) column=(type=decimal(2) updatewhereclause=yes name=debit dbname="ecriture.debit" ) column=(type=decimal(2) updatewhereclause=yes name=credit dbname="ecriture.credit" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"ecriture~" ) COLUMN(NAME=~"ecriture.int_ecriture~") COLUMN(NAME=~"ecriture.debit~") COLUMN(NAME=~"ecriture.credit~")) " ) text(band=header alignment="2" text="ACTIF" border="2" color="33554432" x="5" y="12" height="64" width="1321" html.valueishtml="0" name=t_1 visible="1" font.face="Tahoma" font.height="-10" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1073741824" ) text(band=header alignment="2" text="Brut" border="2" color="33554432" x="1335" y="12" height="64" width="608" html.valueishtml="0" name=t_2 visible="1" font.face="Tahoma" font.height="-10" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1073741824" ) text(band=header alignment="2" text="Amort./prov." border="2" color="33554432" x="1952" y="12" height="64" width="713" html.valueishtml="0" name=t_3 visible="1" font.face="Tahoma" font.height="-10" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1073741824" ) compute(band=detail alignment="0" expression="~"~""border="0" color="33554432" x="5" y="12" height="64" width="1321" format="[GENERAL]" html.valueishtml="0" name=col_1 visible="1" font.face="Tahoma" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) compute(band=detail alignment="0" expression="~"~""border="0" color="33554432" x="1335" y="8" height="68" width="608" format="[GENERAL]" html.valueishtml="0" name=col_2 visible="1" font.face="Tahoma" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) compute(band=detail alignment="0" expression="~"~""border="0" color="33554432" x="1952" y="12" height="64" width="713" format="[GENERAL]" html.valueishtml="0" name=col_3 visible="1" font.face="Tahoma" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) htmltable(border="1" ) htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" encodeselflinkargs="1" netscapelayers="0" pagingmethod=0 generatedddwframes="1" ) xhtmlgen() cssgen(sessionspecific="0" ) xmlgen(inline="0" ) xsltgen() jsgen() export.xml(headgroups="1" includewhitespace="0" metadatatype=0 savemetadata=0 ) import.xml() export.pdf(method=0 distill.custompostscript="0" xslfop.print="0" ) export.xhtml( template=(comment="" name="a" xhtml="<form name=~"d_teste_dataForm~"><div class=~"d_teste_band_0~"><div class=~"d_teste_t_1~">t_1</div><div class=~"d_teste_t_2~">t_2</div><div class=~"d_teste_vr1_0~"/><div class=~"d_teste_t_3~">t_3</div><div class=~"d_teste_vr2_0~"/></div><div class=~"d_teste_detail_0~" __pbband=~"detail~"><div class=~"d_teste_colonne_1~">col_1</div><div class=~"d_teste_compute_1~">col_2</div><div class=~"d_teste_compute_2~">col_3</div></div></form>"))
voila pour la datawindow
Hors ligne
finalement en changeant de colonne (j'ai inséré ma chaine de caractères dans une colonne de type string) ça a marché...
j'ai donc toujours pas compris le fonctionnement du computed field je pensais qu'on pouvait y mettre tous les types de données
mon probleme étant résolu je boucle l'affaire mais si qqn pourrait m'éclairer sur ça
merci de votre aide
Hors ligne
la prochaine fois, previens nous si c'est un computed field...
sinon, on pouvait toujours chercher...
Hors ligne
Un champ compute sert à : computer !
Je sais, la réponse est lapidaire, mais un champ compute ne peut servir qu'a réaliser des calculs ou des concaténations d'autres champs, et en aucun cas, être utilisé en tant que colonne de données pouvant être mis à jour.
Slts
Hors ligne
oki et merci
Hors ligne