Flex:数据如何从DataGridColumn.itemToLabel传递到DataGrid.itemRenderer.set(数据)?

时间:2009-12-04 01:26:28

标签: flex datagrid itemrenderer datagridcolumn

我有一个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。谢谢你的帮助。

1 个答案:

答案 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属于哪个列。“