2011-11-28 103 views
0

我有一個datagrid,它由一個ArrayList填充。我想要一列被另一個ArrayList填充。我試着做這樣的,但只得到前三欄填寫,不是最後一個(與不同的ArrayList):數據提供者的數據網格是否有可能具有不同數據提供者的一列?

<s:DataGrid x="10" y="281" width="597" height="204" dataProvider="{arEvents}" 
      requestedRowCount="4"> 
    <s:columns> 
     <s:ArrayList> 
      <s:GridColumn dataField="title" headerText="Column 1" ></s:GridColumn> 
      <s:GridColumn dataField="venue.location.geopoint" headerText="Column 2"></s:GridColumn> 
      <s:GridColumn dataField="startDate" headerText="Column 3"></s:GridColumn> 
      <s:GridColumn dataField="{arArtistsPerEvent}" headerText="Column 3"></s:GridColumn> 
     </s:ArrayList> 
    </s:columns> 
</s:DataGrid> 

回答

1

不,這是不可能的。這將打破datagrid和dataprovider的目的。

一個解決方案是解析第二個列表並將其值放在第一個列表中。

for(var i:int=0; i<arArtistsPerEvent.length; i++) { 
    arEvents.getItemAt(i).artistsPerEvent=arArtistsPerEvent.getItemAt(i); 
} 

,然後讓dgColumn像

<s:GridColumn dataField="artistsPerEvent" headerText="Column 3"></s:GridColumn> 
+0

這完美的作品,非常感謝你的簡潔明瞭的答案! – Veltar

+0

當然,你必須確保兩個列表具有相同的長度,並且'arEvents.getItemAt(i)'和'arArtistsPerEvent.getItemAt(i)'都不是null –

+0

它們將始終是相同的長度,因爲它們來自同一個xml文件。我解決了它有點不同,通過在解析數組中的XMLList時添加它,所以我不必創建第二個數組ArtistsPerEvent – Veltar

相關問題