我有一个DataGrid,其dataProvider是一个int Arrays数组(每个都有不同的长度)。由于每一行都有可变的大小(我想显示所有数据),我决定extend DataGridColumn and overwrite the itemToLabel function to be able to display the data。问题是我还需要根据int值以不同方式显示数据。
我认为唯一的解决方案是编写itemRenderer,但itemRenderer.set(data)函数接收的唯一输入是整个int数组。我相信我需要itemToLabel返回的确切字符串或itemRenderer所用单元格的列索引(基本上执行我在itemToLabel中实现的相同解析)。
我正在使用Flex 3.4。谢谢你的帮助。
答案 0 :(得分:0)
http://flexgeek.wordpress.com/2007/05/30/tutorial-using-same-itemrenderer-for-multiple-columns/
来自文章
“...我们必须实现接口IDropInListItemRenderer,它有两种方法。
public function get listData():BaseListData
{
return _listData;
}
public function set listData(value:BaseListData):void
{
_listData = DataGridListData(value);
invalidateProperties();
}
_listData对象包含属性columnIndex,它告诉你itemRenderer属于哪个列。“