Ant*_*nAL 6 apache-flex flex3 advanceddatagrid
我有以下数据:
var data: ArrayCollection = new ArrayCollection(
[
{ name: "ProductA", user: {login: "loginA", email: "emailA"} },
{ name: "ProductB", user: {login: "loginB", email: "emailB"} },
{ name: "ProductC", user: {login: "loginC", email: "emailC"} }
]
);
Run Code Online (Sandbox Code Playgroud)
这个数组是我的AdvancedDataGrid的数据提供者:
<mx:AdvancedDataGrid dataProvider="{data}">
<mx:columns>
<mx:AdvancedDataGridColumn headerText="Product" width="55" dataField="name" />
<mx:AdvancedDataGridColumn headerText="User" dataField="user.login" />
<mx:AdvancedDataGridColumn headerText="Email" dataField="user.email" />
</mx:columns>
</mx:AdvancedDataGrid>
Run Code Online (Sandbox Code Playgroud)
问题是 - AdvancedDataGrid不显示嵌套的User对象的属性,但是简单的DataGrid会显示.这有什么不对?
您需要使用labelFunction或itemRenderer.这是labelFunction的一个例子
<mx:AdvancedDataGridColumn headerText="User" labelFunction="getUserLogin" />
Run Code Online (Sandbox Code Playgroud)
哪个叫
private function getUserLogin(item:Object, column:AdvancedDataGridColumn) {
return item.user.login;
}
Run Code Online (Sandbox Code Playgroud)
item参数将是您的单元格正在接收的数据.
DataGrid 经过修补以支持复杂路径,但我不认为 AdvancedDataGrid 是。更多详细信息: http://bugs.adobe.com/jira/browse/SDK-9801
您可以使用 labelFunction 代替。