Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Pages: 1
Bonjour à tous,
Si quelqu'un peut m'aider, je serais très reconnaissant ;)
mon problème est le suivant :
j'ai un dataWindow contenant un graphe, et je veux présenter les valeurs de
performances de portefeuille en fonction des années , ceci marche très bien lorsque
le portefeuille a une seule part (sachant qu'un portefeuille peut avoir au moin une
seule part). ==> un seul graphe dans la datawindow
le problème se présente lorsque j'ai plusieurs parts :
portefeuille part performance annee
----------------|--------|-----------------|-----------
portefeuille1 part1 18 2010
portefeuille1 part1 26 2009
portefeuille1 part1 34 2008
portefeuille1 part1 42 2007
-------------------------------------------------------
portefeuille1 part2 15 2010
portefeuille1 part2 20 2009
portefeuille1 part2 25 2008
portefeuille1 part2 30 2007
-------------------------------------------------------
je veux représenter chaque part dans un graphe (dans la même datawindow) ==> pour cela j'ai fait un groupe "portefeuille, part" mais cela n'a pas aboutit.
dans mon cas j'ai autant de graphes que de lignes (8 lignes) alors que normalement je doit y avoir 2 graphes.
Mon code est le suivant :
WINDOW : w_performance
forward global type w_performance from window end type type cb_calculer from commandbutton within w_performance end type type dw_performance from datawindow within w_performance end type end forward global type w_performance from window integer width = 3566 integer height = 1648 boolean titlebar = true string title = "Untitled" boolean controlmenu = true boolean minbox = true boolean maxbox = true boolean resizable = true long backcolor = 67108864 string icon = "AppIcon!" boolean center = true cb_calculer cb_calculer dw_performance dw_performance end type global w_performance w_performance on w_performance.create this.cb_calculer=create cb_calculer this.dw_performance=create dw_performance this.Control[]={this.cb_calculer,& this.dw_performance} end on on w_performance.destroy destroy(this.cb_calculer) destroy(this.dw_performance) end on type cb_calculer from commandbutton within w_performance integer x = 1353 integer y = 1176 integer width = 343 integer height = 112 integer taborder = 20 integer textsize = -8 integer weight = 400 fontcharset fontcharset = ansi! fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" string text = "Calculer" end type event clicked; long ll_category, ll_row, ll_nbre1, ll_nbre2 dec ll_value String l_tableau_annee[] l_tableau_annee[1] = "2010" l_tableau_annee[2] = "2009" l_tableau_annee[3] = "2008" l_tableau_annee[4] = "2007" ll_nbre1 = 1 FOR ll_category = 1 TO UpperBound(l_tableau_annee) ll_row = dw_performance.insertrow(0) dw_performance.setItem( ll_row, "portefeuille", "portefeuille" + String(ll_nbre1)) dw_performance.setItem( ll_row, "part", "part" + String(ll_nbre1)) dw_performance.setItem( ll_row, "annee", l_tableau_annee[ll_category]) dw_performance.setItem( ll_row, "performance", 10 + 8 * ll_category) NEXT ll_nbre2 = 2 FOR ll_category = 1 TO UpperBound(l_tableau_annee) ll_row = dw_performance.insertrow(0) dw_performance.setItem( ll_row, "portefeuille", "portefeuille" + String(ll_nbre1)) dw_performance.setItem( ll_row, "part", "part" + String(ll_nbre2)) dw_performance.setItem( ll_row, "annee", l_tableau_annee[ll_category]) dw_performance.setItem( ll_row, "performance", 10 + 5 * ll_category) //rw_perf_portefeuille.object.gr_1.addcategory(String(year(idate_date_prec[ll_category]))) NEXT dw_performance.groupcalc( ) dw_performance.setredraw( TRUE ) end event type dw_performance from datawindow within w_performance integer x = 334 integer y = 116 integer width = 2501 integer height = 940 integer taborder = 10 string title = "none" string dataobject = "dw_performance" boolean vscrollbar = true boolean livescroll = true borderstyle borderstyle = stylelowered! end type
DATAWINDOW : dw_performance
release 10.5; datawindow(units=0 timer_interval=0 color=1073741824 processing=0 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 ) header(height=0 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=896 color="536870912" ) table(column=(type=char(10) updatewhereclause=yes name=portefeuille dbname="portefeuille" ) column=(type=char(10) updatewhereclause=yes name=part dbname="part" ) column=(type=decimal(2) updatewhereclause=yes name=performance dbname="performance" ) column=(type=char(4) updatewhereclause=yes name=annee dbname="annee" ) ) group(level=1 header.height=0 trailer.height=0 by=("portefeuille" , "part" ) newpage=yes header.color="536870912" trailer.color="536870912" ) graph(band=foreground height="736" width="2322" graphtype="7" perspective="2" rotation="-20" color="0" backcolor="16777215" shadecolor="8355711" range= 1 border="0" overlappercent="0" spacing="100" plotnulldata="0" elevation="20" depth="100"x="5" y="144" height="736" width="2322" name=gr_1 visible="1" resizeable=1 moveable=1 category="annee" values="performance" title="" title.dispattr.backcolor="536870912" title.dispattr.alignment="2" title.dispattr.autosize="1" title.dispattr.font.charset="0" title.dispattr.font.escapement="0" title.dispattr.font.face="Tahoma" title.dispattr.font.family="2" title.dispattr.font.height="0" title.dispattr.font.italic="0" title.dispattr.font.orientation="0" title.dispattr.font.pitch="2" title.dispattr.font.strikethrough="0" title.dispattr.font.underline="0" title.dispattr.font.weight="700" title.dispattr.format="[General]" title.dispattr.textcolor="0" title.dispattr.displayexpression="title" legend="4" legend.dispattr.backcolor="536870912" legend.dispattr.alignment="0" legend.dispattr.autosize="1" legend.dispattr.font.charset="0" legend.dispattr.font.escapement="0" legend.dispattr.font.face="Tahoma" legend.dispattr.font.family="2" legend.dispattr.font.height="0" legend.dispattr.font.italic="0" legend.dispattr.font.orientation="0" legend.dispattr.font.pitch="2" legend.dispattr.font.strikethrough="0" legend.dispattr.font.underline="0" legend.dispattr.font.weight="400" legend.dispattr.format="[General]" legend.dispattr.textcolor="0" legend.dispattr.displayexpression="series" series.autoscale="1" series.displayeverynlabels="0" series.droplines="0" series.frame="1" series.label="(None)" series.majordivisions="0" series.majorgridline="0" series.majortic="3" series.maximumvalue="0" series.minimumvalue="0" series.minordivisions="0" series.minorgridline="0" series.minortic="1" series.originline="0" series.primaryline="1" series.roundto="0" series.roundtounit="0" series.scaletype="1" series.scalevalue="1" series.secondaryline="0" series.shadebackedge="0" series.dispattr.backcolor="536870912" series.dispattr.alignment="0" series.dispattr.autosize="1" series.dispattr.font.charset="0" series.dispattr.font.escapement="0" series.dispattr.font.face="Tahoma" series.dispattr.font.family="2" series.dispattr.font.height="0" series.dispattr.font.italic="0" series.dispattr.font.orientation="0" series.dispattr.font.pitch="2" series.dispattr.font.strikethrough="0" series.dispattr.font.underline="0" series.dispattr.font.weight="400" series.dispattr.format="[General]" series.dispattr.textcolor="0" series.dispattr.displayexpression="series" series.labeldispattr.backcolor="536870912" series.labeldispattr.alignment="2" series.labeldispattr.autosize="1" series.labeldispattr.font.charset="0" series.labeldispattr.font.escapement="0" series.labeldispattr.font.face="Tahoma" series.labeldispattr.font.family="2" series.labeldispattr.font.height="0" series.labeldispattr.font.italic="0" series.labeldispattr.font.orientation="0" series.labeldispattr.font.pitch="2" series.labeldispattr.font.strikethrough="0" series.labeldispattr.font.underline="0" series.labeldispattr.font.weight="400" series.labeldispattr.format="[General]" series.labeldispattr.textcolor="0" series.labeldispattr.displayexpression="seriesaxislabel" series.sort="1" category.autoscale="1" category.displayeverynlabels="0" category.droplines="0" category.frame="1" category.label="(None)" category.majordivisions="0" category.majorgridline="0" category.majortic="3" category.maximumvalue="0" category.minimumvalue="0" category.minordivisions="0" category.minorgridline="0" category.minortic="1" category.originline="0" category.primaryline="1" category.roundto="0" category.roundtounit="0" category.scaletype="1" category.scalevalue="1" category.secondaryline="0" category.shadebackedge="1" category.dispattr.backcolor="536870912" category.dispattr.alignment="2" category.dispattr.autosize="1" category.dispattr.font.charset="0" category.dispattr.font.escapement="0" category.dispattr.font.face="Tahoma" category.dispattr.font.family="2" category.dispattr.font.height="0" category.dispattr.font.italic="0" category.dispattr.font.orientation="0" category.dispattr.font.pitch="2" category.dispattr.font.strikethrough="0" category.dispattr.font.underline="0" category.dispattr.font.weight="400" category.dispattr.format="[General]" category.dispattr.textcolor="0" category.dispattr.displayexpression="category" category.labeldispattr.backcolor="536870912" category.labeldispattr.alignment="2" category.labeldispattr.autosize="1" category.labeldispattr.font.charset="0" category.labeldispattr.font.escapement="0" category.labeldispattr.font.face="Tahoma" category.labeldispattr.font.family="2" category.labeldispattr.font.height="0" category.labeldispattr.font.italic="0" category.labeldispattr.font.orientation="0" category.labeldispattr.font.pitch="2" category.labeldispattr.font.strikethrough="0" category.labeldispattr.font.underline="0" category.labeldispattr.font.weight="400" category.labeldispattr.format="[General]" category.labeldispattr.textcolor="0" category.labeldispattr.displayexpression="categoryaxislabel" category.sort="1" values.autoscale="1" values.displayeverynlabels="0" values.droplines="0" values.frame="1" values.label="(None)" values.majordivisions="0" values.majorgridline="0" values.majortic="3" values.maximumvalue="250" values.minimumvalue="0" values.minordivisions="0" values.minorgridline="0" values.minortic="1" values.originline="1" values.primaryline="1" values.roundto="0" values.roundtounit="0" values.scaletype="1" values.scalevalue="1" values.secondaryline="0" values.shadebackedge="0" values.dispattr.backcolor="536870912" values.dispattr.alignment="1" values.dispattr.autosize="1" values.dispattr.font.charset="0" values.dispattr.font.escapement="0" values.dispattr.font.face="Tahoma" values.dispattr.font.family="2" values.dispattr.font.height="0" values.dispattr.font.italic="0" values.dispattr.font.orientation="0" values.dispattr.font.pitch="2" values.dispattr.font.strikethrough="0" values.dispattr.font.underline="0" values.dispattr.font.weight="400" values.dispattr.format="[General]" values.dispattr.textcolor="0" values.dispattr.displayexpression="value" values.labeldispattr.backcolor="536870912" values.labeldispattr.alignment="2" values.labeldispattr.autosize="1" values.labeldispattr.font.charset="0" values.labeldispattr.font.escapement="900" values.labeldispattr.font.face="Tahoma" values.labeldispattr.font.family="2" values.labeldispattr.font.height="0" values.labeldispattr.font.italic="0" values.labeldispattr.font.orientation="900" values.labeldispattr.font.pitch="2" values.labeldispattr.font.strikethrough="0" values.labeldispattr.font.underline="0" values.labeldispattr.font.weight="400" values.labeldispattr.format="[General]" values.labeldispattr.textcolor="0" values.labeldispattr.displayexpression="valuesaxislabel" ) column(band=detail id=3 alignment="0" tabsequence=32766 border="0" color="0" x="1230" y="820" height="76" width="512" format="[general]" html.valueishtml="0" name=performance visible="0" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=no font.face="Tahoma" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=4 alignment="0" tabsequence=32766 border="0" color="0" x="878" y="820" height="76" width="315" format="[general]" html.valueishtml="0" name=annee visible="0" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=no font.face="Tahoma" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=1 alignment="0" tabsequence=32766 border="0" color="0" x="0" y="820" height="76" width="471" format="[general]" html.valueishtml="0" name=portefeuille visible="0" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=no font.face="Tahoma" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=2 alignment="0" tabsequence=32766 border="0" color="0" x="503" y="820" height="76" width="320" format="[general]" html.valueishtml="0" name=part visible="0" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=no font.face="Tahoma" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) 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()
Merci d'avance ;)
Dernière modification par dydo01 (11-05-2011 13:04:34)
Hors ligne
Bonjour,
Merci d'avance de corriger vos balises
Hors ligne
Bonjour,
Je ne me suis pas concentré à 100% sur ton problème. Il pourrait simplement s'agir d'un problème de tri des données : order by part ?
Hors ligne
Bonjour,
Merci pour votre réponse.
En faites, même un tri par "portefeuille , part " avant d'appliquer le groupcalc() n'a aucun effet (le groupe étant formé par couple "portefeuille, part" ).
j'aurai toujours 2 graphes dont chacun se répète 4 fois (2*4 ==> 8 graphes dans la même datawindow).
Hors ligne
Pages: 1