我有一个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>
答案 0 :(得分: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>