2009-04-06 5 views
1

У меня есть вопрос о ColumnChart в Flex 3. простой ColumnChart, как:ColumnChart с динамическим числом столбцов

<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> 

Но как сделать ColumnChart с динамическим количество столбцов, которые поступают от датапровайдера? Здесь столбцы «затраты» и «доход» жестко закодированы. Но как мы можем это сделать, если они поступают из датапровайдера, а число не фиксировано, например, yFields может быть «расход 1», «расход 2», ... «Доход 1», «Доход 2», ... и т.п.

+0

Что делает ваш результат WebService выглядеть? XML? –

ответ

1

Вы можете попробовать добавить новые ColumnSeries() объекты что-то вроде ...

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

    series.addChild(tmp); 
} 

я думаю, что это или подобное решение должно работать

1

Мэтт, спасибо за ваше решение.

Просто небольшая деталь, которую я нашел. без него он не может отображаться.

var tmp: ColumnSeries = new ColumnSeries();

// эта линия очень важна. this.myChart.series = [tmp];

для (вар я: Int = 0; I < линзы; я ++) // цикл выполнения в соответствии с поставщиком данных

{

TMP = новые ColumnSeries();

tmp.xField ....

tmp.yField ...

...

this.myChart.series [я] = TMP;

}

More details

Смежные вопросы