2009-04-06 9 views
1

Ich habe eine Frage über die Column in Flex 3. ein einfaches Column ist wie:Column mit dynamischen Anzahl der Spalten

<mx:horizontalAxis> 
     <mx:CategoryAxis 
      dataProvider="{myDP}" 
      categoryField="date" 
     /> 
    </mx:horizontalAxis> 

    <mx:series> 
     <mx:ColumnSeries 
       xField="date" 
       yField="Expense" 
       displayName="Expense" 
      /> 
      <mx:ColumnSeries 
       xField="date" 
       yField="Income" 
       displayName="Income" 
      /> 
     </mx:series> 

Aber wie ein Column mit dynamischer gestalten Anzahl der Spalten, die vom Datenprovider kommen? Hier sind die Spalten für "Aufwand" und "Einkommen" fest codiert. Aber wie können wir tun, wenn sie vom Datenprovider kommen und die Anzahl nicht fest ist, zum Beispiel können yFields "Aufwand 1", "Aufwand 2", ... "Einkommen 1", "Einkommen 2", ... sein. etc.

+0

Was ist Ihr Ergebnis WebService aussehen? XML? –

Antwort

1

Sie können versuchen, neue Column hinzufügen() Objekte so etwas wie ...

var series:Series = new Series(); 
for(...) // execute loop as per data provider 
{ 
    var tmp:ColumnSeries = new ColumnSeries(); 
    tmp.xField.... 
    tmp.yField... 
    ... 

    series.addChild(tmp); 
} 

i nachdenken, oder ähnliche Lösung sollte

1

Matt, vielen Dank für Ihre Lösung arbeiten.

Nur ein kleines Detail, das ich gefunden habe. Ohne es kann es nicht angezeigt werden.

var tmp: ColumnSeries = new ColumnSeries();

// Diese Zeile ist sehr wichtig. this.myChart.series = [tmp];

for (var i: int = 0; i < Linse; i ++) // Schleife auszuführen, wie pro Datenanbieter

{

tmp = new Column();

tmp.xField ....

tmp.yField ...

...

this.myChart.series [i] = tmp;

}

More details

Verwandte Themen