读书人

Flex 四 DataGrid 的 checkbox

发布时间: 2012-11-20 09:55:43 作者: rapoo

Flex 4 DataGrid 的 checkbox

<mx:DataGrid id="dataGrid" dataProvider="{listInfo.list}" width="100%" height="100%" itemEditEnd="dataGrid_itemEditEndHandler(event)" editable="true"><mx:columns><mx:DataGridColumn headerText="ID" dataField="id" width="60" /><mx:DataGridColumn headerText="是否结账" dataField="payStatus" width="100" editable="false" ><mx:itemRenderer ><fx:Component><mx:CheckBox   label="{TuanConfigureContext.dataGridCashPayStatus(data)}" selected="{data.editPayStatus == TuanConfigureContext.CASH_PAY_STATUS_PAY }"  paddingLeft="5" change="checkbox1_changeHandler(event)"><fx:Script><![CDATA[import mx.collections.ArrayCollection;import mx.controls.DataGrid;import mx.controls.listClasses.ListData;import mx.core.Application;import net.synke.admin.TuanConfigureContext;protected function checkbox1_changeHandler(event:Event):void{data.editPayStatus = this.selected ? TuanConfigureContext.CASH_PAY_STATUS_PAY : TuanConfigureContext.CASH_PAY_STATUS_UNPAY;this.setStyle("color" , (data.editPayStatus != data.payStatus) ? "#ff0000" : "#000000");((listData.owner as DataGrid).dataProvider as ArrayCollection).refresh();}]]></fx:Script></mx:CheckBox></fx:Component></mx:itemRenderer></mx:DataGridColumn><mx:DataGridColumn headerText="用户名" dataField="username" width="120" /><mx:DataGridColumn headerText="管理员" dataField="adminUsername" width="120" /><mx:DataGridColumn headerText="金额" dataField="money" width="120" /><mx:DataGridColumn headerText="支付时间" dataField="createTime" width="180" labelFunction="{DataGridUtil.dateLabelFormatDateTime}"  /><mx:DataGridColumn headerText="结账时间" dataField="payStatus" width="100" labelFunction="{DataGridUtil.dateLabelFormatDateTime}"  /></mx:columns></mx:DataGrid>

目前没有发现更好的方法让columnRenderer与容器进行通信(例如事件),只能通过直接对数据的操作进行互相通信,也许这就是flex datagrid进行数据传递的方法吧。

读书人网 >flex

热点推荐