Flex DataGrid 在首列增序号

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>

你可能感兴趣的:(datagrid)