DataGridColumn с ItemRenderer, как правильно установить dataProvider? - PullRequest
0 голосов
/ 27 августа 2009

Я строю DataGrid для отображения данных, похожих на следующий XML:

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

Идея состоит в том, чтобы сетка отображала имя в одном столбце и небольшую графику (спарклайн) во втором столбце в зависимости от количества. У меня есть спарклайн-компонент, который нуждается в 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

1 Ответ

0 голосов
/ 29 августа 2009

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

DataProvider = "{data.trend.quantity}"

...