有时需要为datagrid加上固定的序号列 就像excel那样,搜索了网上的实现方式,大多是通过扩展datagrid本身来进行的,比较繁琐
下面是我自己的实现方式,基本思路就是用itemrender访问父文档的datagrid的dataProvider,使用ArrayCollection的getItemIndex方法实现行号
代码如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
>
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
public function genrowno(ob:Object):String
{
return String((datalist.dataProvider as ArrayCollection).getItemIndex(ob));
}
]]>
</mx:Script>
<mx:DataGrid width="565"
id="datalist"
height="283">
<mx:columns>
<mx:DataGridColumn>
<mx:itemRenderer>
<mx:Component>
<mx:Label text="{this.parentDocument.genrowno(data)}">
</mx:Label>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
<mx:DataGridColumn dataField="TM"
headerText="日期"/>
<mx:DataGridColumn dataField="LL"
headerText="流量"/>
</mx:columns>
<mx:dataProvider>
<mx:ArrayCollection>
<mx:Array>
<mx:Object TM="7.13-6"
LL="2.9"/>
<mx:Object TM="7.13-8"
LL="2.9"/>
<mx:Object TM="7.14-6"
LL="1.9"/>
<mx:Object TM="7.14-8"
LL="1.9"/>
<mx:Object TM="7.15-6"
LL="1.9"/>
<mx:Object TM="7.15-8"
LL="1.9"/>
<mx:Object TM="7.16-6"
LL="3.05"/>
<mx:Object TM="7.16-8"
LL="3.15"/>
<mx:Object TM="7.17-6"
LL="3.15"/>
<mx:Object TM="7.17-8"
LL="3.15"/>
<mx:Object TM="7.18-6"
LL="3.15"/>
<mx:Object TM="7.18-8"
LL="3.15"/>
<mx:Object TM="7.19-6"
LL="3.15"/>
<mx:Object TM="7.19-8"
LL="3.05"/>
<mx:Object TM="7.20-6"
LL="1.9"/>
<mx:Object TM="7.20-8"
LL="1.9"/>
</mx:Array>
</mx:ArrayCollection>
</mx:dataProvider>
</mx:DataGrid>
</mx:Application>
原文地址 : http://resources.esri.com/help/9.3/arcgisserver/apis/flex/help/index.html#whats_new.htm
通常任意版本的 ArcGIS API for Flex 都支持 ArcGIS Server 9.3 及其以上版本,但是为了某些特殊的功能你可能需要使用特定版本的api和arcgis server,. 例如, 路径分析功能就需要使用 ArcGIS API for Flex 1.2 (或更新的版本) 与 ArcGIS Server 9.3.1 (或更新的版本). 详情请查看 API 参考