FLEX 为DataGrid 添加序号列(1)

下面的实现方式,基本思路就是用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.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: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>



运行结果图示

FLEX 为DataGrid 添加序号列(1)

你可能感兴趣的:(xml,Flex)