我有一个简单的对象数组:
public var activityArray:Array = [“a1”,“a2”,“a3”,“a4”];
我如何基本将其放入数据网格列?我已将数据网格设置为如下所示:
</mx:HBox>
<components:PortalTabGridCanvas id="marketPlansGridCanv" height="33%" width="98.5%">
<mx:AdvancedDataGrid id="marketPlansGrid" height="100%" width="100%" dataProvider="activityArray">
<mx:columns>
<mx:AdvancedDataGridColumn headerText="{Mlc.curr.get('Activity Type')}" width="160" dataField="ATTRIB_VALUE" textAlign="center" headerWordWrap="true"/>
<mx:AdvancedDataGridColumn headerText="{Mlc.curr.get('Activity')}" width="160" dataField="ATTRIB_VALUE" textAlign="center" headerWordWrap="true"/>
答案 0 :(得分:0)
DataGrid
旨在检查Object
并从Object
的可读属性中提取数据,因为您在String
中使用dataProvider
s ,没有可读的属性。
要显示Object
中AdvancedDataGridColumn
的数据,列dataField
必须是Object
中可读属性的名称。
您需要至少定义dataProvider
以包含Object
,如下例所示。
public var activityArray:Array =
[
{
property1:"a1",
property2:"a1's second property"
} ,
{
property1:"a2",
property2:"a2's second property"
}
//etc, etc, etc...
];
然后定义您的列,如:
<mx:AdvancedDataGridColumn headerText="{Mlc.curr.get('Activity Type')}" width="160" dataField="property1" textAlign="center" headerWordWrap="true"/>
<mx:AdvancedDataGridColumn headerText="{Mlc.curr.get('Activity')}" width="160" dataField="property2" textAlign="center" headerWordWrap="true"/>