2009-08-26 7 views
0

Je construis un DataGrid pour afficher des données similaires à XML suivant:DataGridColumn avec ItemRenderer, comment définir correctement dataProvider?

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

L'idée est d'avoir la grille afficher le nom dans une colonne et un petit graphique (sparkline) dans la deuxième colonne sur la base les quantités. J'ai un composant sparkline qui nécessite une ArrayList en tant que dataProvider. Mon réseau est configuré ainsi:

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

Quelle est la meilleure façon (ou en tout cas!) Pour régler le dataProvider du composant Sparkline au tableau des quantités? Ai-je besoin de dataField dans le DataGridColumn englobant? Est-ce que mon approche est fausse?

Comme toujours, merci d'avance pour toute aide que vous pouvez fournir.

TB

Répondre

0

voir si cela résout votre problème:

dataProvider = "{data.trend.quantity}"

Questions connexes