FLEX实践—Datagrid保存列模板及自动显示行号

运行效果就不截图了,有兴趣的朋友自己可以试一下。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="
http://www.adobe.com/2006/mxml" layout="absolute" fontSize="12">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.controls.Alert;
//自动获取行号
private function lfRowNum(oItem:Object,iCol:int):String
{
var iIndex:int = dg.getItemIndex(oItem) + 1;
return String(iIndex);
}
//创建datagrid列模板
var columnTemplate:ArrayCollection=new ArrayCollection();
//当手动改变datagrid列的排列顺序时,可将其保存
private function saveTemplate():void{
var temp:Object=new Object();
temp['name']=templateName.text;
temp['columns']=grid.columns;
columnTemplate.addItem(temp);
Alert.show("Save template: "+temp['name']);
}
//如果已经保存了多个不同的排序模板,可通过下拉列表来改变datagrid的显示
private function changeTemplate():void{

grid.columns = columnTemplate[comboBox.selectedIndex]['columns'];
}
]]>
</mx:Script>
<mx:ArrayCollection id="dg">
<mx:Object name="A" code="A1" des="A2" enabled="true"/>
<mx:Object name="B" code="B1" des="B2" enabled="false"/>
<mx:Object name="A" code="C1" des="C2" enabled="true"/>
</mx:ArrayCollection>
<mx:DataGrid id="grid" dataProvider="{dg}"
x="393" y="140">
<mx:columns>
<mx:DataGridColumn headerText="Row number" labelFunction="lfRowNum" />
<mx:DataGridColumn headerText="Name" dataField="name" />
<mx:DataGridColumn headerText="Code" dataField="code" />
<mx:DataGridColumn headerText="Description" dataField="des" />
</mx:columns>
</mx:DataGrid>
<mx:Button x="679" y="336" label="Save Template" width="141" id="aa1" click="saveTemplate()"/>
<mx:ComboBox x="393" y="63" dataProvider="{columnTemplate}" labelField="name" id="comboBox"
change="changeTemplate()" prompt="请选择模板">
</mx:ComboBox>
<mx:TextInput x="471" y="336" id="templateName"/>
<mx:Label x="393" y="338" text="模板名称:" fontWeight="bold"/>
</mx:Application>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值