Flex学习DataGrid中CheckBox用法

DataGridExample.mxml: <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" fontSize="12" creationComplete="initApp()"> <mx:Script> <!--[CDATA[ import mx.events.DataGridEvent; import mx.events.DataGridEventReason import bookEvent.cartEvent; import view.*; internal function initApp():void{ addEventListener("AddBook",AddHandler); } internal function AddHandler(evt:cartEvent):void{ if(evt.isAdd){ tip_txt.text = "你选择购买:"+evt.book.name; }else{ tip_txt.text = "你放弃购买:"+evt.book.name; } } internal function checkInfo(evt:DataGridEvent):void{ //如果没有作修改 if (evt.reason == DataGridEventReason.CANCELLED){ return; } //确定修改的属性 if(evt.dataField == "date"){ // 清除原来的数据 evt.preventDefault(); // 得到新的数据 book_DG.editedItemRenderer.data.date = dateCell(DataGrid(evt.target).itemEditorInstance).num_year.value; // 关闭item editor book_DG.destroyItemEditor(); //更新数据源 book_DG.dataProvider.itemUpdated(evt.itemRenderer.data); } } ]]> </mx:Script> <mx:Model id="books"> <datas> <book> <name>Flash第一步</name> <author>陈冰</author> <date>2006</date> </book> <book> <name>Flex第一步</name> <author>walktree</author> <date>2007</date> </book> <book> <name>Apollo第一步</name> <author>还不知道呢</author> <date>2008</date> </book> </datas> </mx:Model> <mx:Label width="100%" color="#004080" text="选择一本书购买"/> <mx:DataGrid editable="true" id="book_DG" width="100%" height="156" itemEditEnd="checkInfo(event)" rowCount="5" dataProvider="{books.book}"> <mx:columns> <mx:DataGridColumn dataField="name" headerText="书名"/> <mx:DataGridColumn dataField="author" headerText="作者"/> <mx:DataGridColumn dataField="date" headerText="出版日期" itemEditor="view.dateCell" /> <mx:DataGridColumn headerText="购买" itemRenderer="view.cartCell" editable="false"/> </mx:columns> </mx:DataGrid> <mx:Canvas height="150" width="100%" backgroundColor="#ffffff"> <mx:Label id="tip_txt" text="还没有选择书目"/> </mx:Canvas> </mx:Application> bookEvent.cartEvent.as package bookEvent { import flash.events.Event; public class cartEvent extends Event{ public var isAdd:Boolean; public var book:Object; function cartEvent(_data:Object,_isAdd:Boolean):void{ isAdd = _isAdd; book = _data; super("AddBook"); } } } view.cartCell.mxml <?xml version="1.0" encoding="utf-8"?> <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Script> <![CDATA[ import bookEvent.cartEvent; internal function addCart():void{ this.parentApplication.dispatchEvent(new cartEvent(data,cart_check.selected)); } ]]--> </mx:Script> <mx:CheckBox id="cart_check" x="0" y="0" label="购买" change="addCart()"/> </mx:Canvas> view.dateCell.mxml: <?xml version="1.0" encoding="utf-8"?> <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="180"> <mx:NumericStepper id="num_year" x="0" y="0" minimum="1900" maximum="2100" value="{data.date}"/> <mx:Label text="请选择年份" x="96" y="2"/> </mx:Canvas>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值