如何在AdvancedDataGridColumn-ItemRenderer中访问正确的数据?

时间:2010-06-23 09:36:02

标签: flex actionscript-3

如何在AdvancedDatagridColumn-ItemRenderer中访问特定的.data(基于其dataField),而不是检索父AdvancedDataGrids数据提供者的整个数据?

有什么想法吗?

非常感谢......

1 个答案:

答案 0 :(得分:1)

在itemRenderer中,dataProvider的对象被传递到itemRenderer的data属性。您的itemRenderer需要实现IDataRenderer接口

http://livedocs.adobe.com/flex/3/langref/mx/core/IDataRenderer.html

大多数Flex Framework组件已经实现了此接口。

DataGrid组件内部工作的方式是调用itemToLabel函数(http://livedocs.adobe.com/flex/3/langref/mx/controls/listClasses/AdvancedListBase.html#itemToLabel())来确定要显示的标签。此函数将查看dataField和dateFunction并返回表示项目的字符串。

此函数的结果作为AdvancedDataGridListData类的一部分传递给itemRenderer。看一下label属性:

http://livedocs.adobe.com/livecycle/8.2/programLC/common/langref/mx/controls/advancedDataGridClasses/AdvancedDataGridListData.html

您也可以使用DataGridListData.owner直接访问dataField,尽管这是一种不寻常的方法。