1、编写as类
package components
{
??? import mx.controls.Label;
??? import mx.controls.listClasses.BaseListData;
??? import mx.controls.listClasses.ListBase;
???
???
??? public class ItemRendererNumber extends Label
??? {
??? ??? public function ItemRendererNumber ()
??? ??? {
??? ??? ??? super();
??? ??? }
??? ???
//??? ??? //另一种方法获取dataProvider并调用getItemIndex方法?
//??? ??? ????? override public function set data(value:Object):void{?
//??? ??? ????????? super.data = value;?
//??? ??? ????????? text = (((listData.owner as ListBase).dataProvider as IList)?
//??? ??? ????????????? .getItemIndex(data) + 1).toString();?
//??? ??? ????? }?
??? ???
??? ??? override public function set listData(value:BaseListData):void
??? ??? {
??? ??? ??? super.listData? = value;
??? ??? ??? text = ((value.owner as ListBase).itemRendererToIndex(this)+1).toString();
??? ??? }
??? }
}
2、在mxml里的调用
<mx:DataGrid id="grid">? ??? ??? <mx:columns>? ??? ??? ??? ??? ??? ??? <mx:DataGridColumn headerText="no" itemRenderer="{new ClassFactory(components.ItemRendererNumber)}"/>? ??? ??? ??? <mx:DataGridColumn headerText="name" dataField="name"/>? ??? ??? </mx:columns>