Flex之dataGrid自动生成序号

通过LabelFunction属性实现自动生成序号。
定义方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/**
* 生成datagrid第一列用的序号
*/
private function formatIndexNumber(item:Object, colum:Object):String
{
    return indexNumLabelFun(item, colum.mx_internal::owner);
}
 
public static function indexNumLabelFun(value:Object, dataGrid:Object):String
{
   var arr: Array = dataGrid.dataProvider.source;
   var indexNum: int = (arr.indexOf(value) + 1);            
   return indexNum.toString();
}

设置界面:

1
2
------------------- Item中设置 LabelFunction 属性----------------------
<mx:DataGridColumn headerText="序号" width="50" labelFunction="formatIndexNumber" />