2009-08-26 2 views
0

Я строю DataGrid для отображения данных, подобные следующему XML:DataGridColumn с ItemRenderer, как правильно установить dataProvider?

<foo> 
    <entities> 
     <entity> 
      <name>Jim</name> 
      <trend> 
       <quantity>10</quantity> 
       <quantity>20</quantity> 
       <quantity>30</quantity> 
      </trend> 
     </entity> 
     ... 
    </entities> 
</foo> 

Идея состоит в том, чтобы сетка отобразить имя в одной колонке и небольшой графический (спарклайн) во второй колонке, основанной на количества. У меня есть компонент sparkline, которому нужен ArrayList как dataProvider. Моя сетка устанавливается таким образом:

<!-- XML from dataservice transformed into XMLListCollection --> 
<mx:XMLListCollection id="xmlcol" source="{xmlData.entities.entity}"/> 
<mx:DataGrid id="thegrid" dataProvider="{xmlcol}"> 
    <mx:columns> 
     <mx:DataGridColumn id="name" dataField="name" headerText="Name" /> 
     <mx:DataGridColumn id="spark" dataField="trend.quantity" header="Trend"> 
      <mx:itemRenderer> 
       <mx:Component> 
        <mycomponents:Sparkline dataProvider="?????????" /> 
       </mx:Component> 
      </mx:itemRenderer> 
     </mx:DataGridColumn> 
    </mx:columns> 
</mx:DataGrid> 

Что является лучшим способом (или в любом случае!), Чтобы установить DataProvider для компонента SPARKLINE в массив величин? Нужен ли мне DataField в приложении DataGridColumn? Не подходит ли мой подход?

Как всегда, заблаговременно за помощь, которую вы можете предоставить.

TB

ответ

0

посмотреть, если это решит вашу проблему:

DataProvider = "{data.trend.quantity}"