flex的datagrid内嵌ckeckbox控件(转来的)
来源:互联网 发布:金融数据挖掘导论 编辑:程序博客网 时间:2024/05/18 15:27
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" creationComplete="init()">
<mx:Script>
<![CDATA[
import mx.events.ListEvent;
public var selectedItems:Array = new Array();
private function init():void{
this.initSelectedItems()
}
//从dataProvider中将选中的项放入 selectedItems array
private function initSelectedItems():void{
for(var i:int=0; i <idata.length; i++){
if(idata[i].action.toString() == "true"){
this.selectedItems.push(idata[i])
}
}
}
//将数组中的行的status 改为Delete,并且刷新Grid
private function removeSelectedItems():void{
for(var i:int = 0; i<selectedItems.length; i++){
selectedItems[i].status = "Deleted";
}
idata.refresh()
}
private function selecteAll():void{
for(var i:int=0; i <idata.length; i++){
idata[i].action = "true";
selectedItems.push(idata[i])
}
idata.refresh()
}
]]>
</mx:Script>
<mx:ArrayCollection id="idata">
<mx:Object action="false" name="Kevin" status="OK" />
<mx:Object action="false" name="Edison" status="OK" />
<mx:Object action="true" name="Albert" status="OK" />
<mx:Object action="false" name="Tom" status="OK" />
<mx:Object action="false" name="Dani" status="OK" />
<mx:Object action="false" name="Colin" status="OK" />
<mx:Object action="false" name="Diablo" status="OK" />
<mx:Object action="false" name="Kevin" status="OK" />
<mx:Object action="false" name="Edison" status="OK" />
<mx:Object action="true" name="Albert" status="OK" />
<mx:Object action="false" name="Tom" status="OK" />
<mx:Object action="false" name="Dani" status="OK" />
<mx:Object action="false" name="Colin" status="OK" />
<mx:Object action="false" name="Diablo" status="OK" />
<mx:Object action="false" name="Kevin" status="OK" />
<mx:Object action="false" name="Edison" status="OK" />
<mx:Object action="true" name="Albert" status="OK" />
<mx:Object action="false" name="Tom" status="OK" />
<mx:Object action="false" name="Dani" status="OK" />
<mx:Object action="false" name="Colin" status="OK" />
<mx:Object action="false" name="Diablo" status="OK" />
<mx:Object action="false" name="Kevin" status="OK" />
<mx:Object action="false" name="Edison" status="OK" />
<mx:Object action="true" name="Albert" status="OK" />
<mx:Object action="false" name="Tom" status="OK" />
<mx:Object action="false" name="Dani" status="OK" />
<mx:Object action="false" name="Colin" status="OK" />
<mx:Object action="false" name="Diablo" status="OK" />
</mx:ArrayCollection>
<mx:DataGrid id="grid" dataProvider="{idata}">
<mx:columns>
<mx:DataGridColumn headerText="删除" dataField="action" itemRenderer="{new ClassFactory(iCheckBox)}" />
<mx:DataGridColumn headerText="姓名" dataField="name" />
<mx:DataGridColumn headerText="状态" dataField="status" />
</mx:columns>
</mx:DataGrid>
<mx:Button label="删除所选行" click="removeSelectedItems()" />
<mx:Button label="全选" click="selecteAll()" />
</mx:Application>
-----------------------------------
iCheckBox.as
package
{
import flash.events.Event;
import mx.controls.CheckBox;
import mx.core.Application;
public class iCheckBox extends CheckBox
{
private var currentData:Object; //保存当前一行值的对象
public function iCheckBox()
{
super();
this.addEventListener(Event.CHANGE,changeHandle)
}
override public function set data(value:Object):void{
this.selected = value.action.toString() == "true"?true:false;
this.currentData = value; //保存整行的引用
}
//点击check box时,根据状况向selectedItems array中添加当前行的引用,或者从array中移除
private function changeHandle(e:Event):void{
var itemArray:Array = Application.application.selectedItems
this.currentData.action = this.selected.toString()
if(this.selected){
itemArray.push(this.currentData)
}else{
for(var i:int = 0; i<itemArray.length; i++){
if(itemArray[i] == this.currentData){
itemArray.splice(i,1)
}
}
}
}
}
}
- flex的datagrid内嵌ckeckbox控件(转来的)
- ckeckbox的全选
- flex的datagrid内嵌combobox和itemclick
- FLEX2中DataGrid控件的分页 (Flex 自定义DataGrid控件)
- flex中datagrid控件的itemclick事件
- GridView里Ckeckbox的使用
- Flex树控件内数据的生成
- flex学习----flex的DataGrid
- Flex中如何给DataGrid控件的项目添加一个可编辑TextArea/TextInput,单击控件内的项目时,自动进入编辑状态
- Flex中如何给DataGrid控件的项目添加一个可编辑TextArea/TextInput,单击控件内的项目时,自动进入编辑状态
- Flex中如何给DataGrid控件的项目添加一个可编辑TextArea/TextInput,单击控件内的项目时,自动进入编辑状态
- Flex Datagrid的使用
- Flex中如何创建自定义排序DataGrid控件的例子
- 可以动态添加行背景色的flex datagrid控件
- Flex之DataGrid和Tree控件的数据源XML格式
- 彩色的DataGrid(WinForm)代码实现,群内某位仁兄公开的,代码贴上来
- Flex 动态datagrid的应用
- 分享一个flex的datagrid
- json2.js 使用详细教程
- NHibernate 在数据库有触发器时出错
- 使用make
- VC内存泄露检查工具:Visual Leak Detector
- C#委托和事件
- flex的datagrid内嵌ckeckbox控件(转来的)
- 脱壳手记一(ASpack)
- 揭秘开心网:创始人无专属办公室月薪9000
- mobile环境手机模拟器播放手机视频
- 在SQL中查看表所占的空间大小
- 程序员阿BEN的SOHO生活(转载)
- SAP ERP 与 Oracle ERP 比较
- ibatis - 自动代码生成工具abator 使用介绍
- abator使用后的几个注意点(ibatis自动生成工具)