<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:fx="http://ns.adobe.com/mxml/2009"  
   xmlns:s="library://ns.adobe.com/flex/spark"  
   xmlns:mx="library://ns.adobe.com/flex/mx"> 
 
 <fx:Script> 
  <![CDATA[
   import mx.collections.ArrayCollection;
   import mx.controls.Alert;
   
   //数据源
   [Bindable]
   private var dsObjects:ArrayCollection = new ArrayCollection([
    {flag:false,name:"Chen",job:"developer"},
    {flag:false,name:"men",job:"mentor"},
   ]);
   
   /*
   *实现所有项目的全选中过程 
   */
   public function all_click(event:Event):void{
    
    dsObjects = this.dgDistbRecordSearchList.dataProvider as ArrayCollection;
    this.unAll.selected = false;
    for(var i:int = 0 ;i<dsObjects.length;i++){
     dsObjects[i].flag = CheckBox(event.target).selected;
    }
    //重新绑定
    this.dgDistbRecordSearchList.dataProvider = dsObjects;
   }
   /*
   *实现项目反相选中
   */
   public function unAll_click(event:Event):void{
    
    if(CheckBox(event.target).selected){
     
     this.all.selected = false;
     
     dsObjects = this.dgDistbRecordSearchList.dataProvider as ArrayCollection;
     
     for(var i:int = 0 ;i<dsObjects.length;i++){
      dsObjects[i].flag = !dsObjects[i].flag;
     }
     //重新绑定
     this.dgDistbRecordSearchList.dataProvider = dsObjects;
    }
   }
   
   //显示被选中项目的名称
   private function showSelectedName():void{
    var ac:ArrayCollection = this.dgDistbRecordSearchList.dataProvider as ArrayCollection;
    var selectedNames:String = "选中项目名称为:"
    
    for(var i:int = 0;i<ac.length;i++){
     if(ac[i].flag == true){
      selectedNames += ac[i].name + " ";
     }
    }
    
    Alert.show(selectedNames);
   }
  ]]> 
 </fx:Script> 
 <mx:VBox> 
  <mx:DataGrid id="dgDistbRecordSearchList" width="100%" height="100%" allowMultipleSelection="true" dataProvider="{dsObjects}" >                
   <mx:columns> 
    <mx:DataGridColumn headerText="选择" width="42" > 
     <mx:itemRenderer > 
      <fx:Component > 
       <mx:HBox horizontalAlign="center"> 
        <mx:CheckBox selected="@{data.flag}"  change="checkbox1_changeHandler(event,data)" width="13"> 
         <fx:Script> 
          <![CDATA[
           import mx.events.ListEvent;
           protected function checkbox1_changeHandler(event:Event,obj:Object):void
           {
            //调整按钮选择性
            outerDocument.unAll.selected = false;
            outerDocument.all.selected = false;
            //在单向绑定时可采用此法将选中信息反应到数据源
            /*  obj.flag =  CheckBox(event.target).selected;  */
           }
          ]]> 
         </fx:Script> 
        </mx:CheckBox> 
       </mx:HBox> 
       
      </fx:Component> 
     </mx:itemRenderer> 
    </mx:DataGridColumn> 
    <mx:DataGridColumn id="nam" textAlign="left" headerText="姓名" dataField="name"/> 
    <mx:DataGridColumn id="job" textAlign="left" headerText="职位" width="80" dataField="job"/> 
   </mx:columns> 
  </mx:DataGrid> 
  <mx:HBox> 
   <s:CheckBox id="all" label="全选" width="45" height="30" click="all_click(event)"/> 
   <s:CheckBox id="unAll" label="反选" width="45" height="30" click="unAll_click(event)"/> 
  </mx:HBox> 
  <mx:Button label="选中项目的名称" click="showSelectedName()" /> 
  
 </mx:VBox> 
 
</mx:Application>

flex datagrid checkbox选中项目的更多相关文章

  1. flex Datagrid checkbox

    <?xml version="1.0" encoding="utf-8"?><!-- http://blog.flexexamples.com ...

  2. easyui datagrid checkbox选中事件

    $('#grid_Order').datagrid({       onCheck: function(index, data) { //alert(data[0]);               / ...

  3. js 获取checkbox选中项目

    # //获取选中项 $('#submit').click(function () { var check_list = [] $("input[name='ck']:checked" ...

  4. wpf DataGrid CheckBox列全选

    最近在wpf项目中遇到当DataGrid的header中的checkbox选中,让该列的checkbox全选问题,为了不让程序员写自己的一堆事件,现写了一个自己的自定义控件 在DataGrid的 &l ...

  5. easyui 》 radio取值,checkbox取值,select取值,radio选中,checkbox选中,select选中

    获取一组radio被选中项的值var item = $('input[@name=items][@checked]').val();获取select被选中项的文本var item = $(" ...

  6. jQuery EasyUI DataGrid Checkbox 数据设定与取值

    纯粹做个记录,以免日后忘记该怎么设定. 这一篇将会说明两种使用 jQuery EasyUI DataGrid 的 Checkbox 设定方式,以及在既有数据下将 checked 为 true 的该笔数 ...

  7. EasyUI datagrid checkbox数据设定与取值(转自http://blog.csdn.net/baronyang/article/dnetails/9323463,感谢分享,谢谢)

    这一篇将会说明两种使用 jQuery EasyUI DataGrid 的 Checkbox 设定方式,以及在既有数据下将 checked 为 true 的该笔数据列的 Checkbox 设定为 Che ...

  8. jquery checkbox 选中 全选 插件

    checkbox  选中 全选 在项目中经常用到,但是不同的程序员写出的东西各有差异,在此整合了jquery checkbox插件,用起来很方便,也总结了我们项目中通常会出现问题的地方,一行代码搞定. ...

  9. jquery radio取值,checkbox取值,select取值,radio选中,checkbox选中,select选中

    jQuery获取Select选择的Text和Value: 语法解释: 1. $("#select_id").change(function(){//code...}); //为Se ...

随机推荐

  1. ZT pthread_detach

    pthread_detach 创 建一个线程默认的状态是joinable, 如果一个线程结束运行但没有被join,则它的状态类似于进程中的Zombie Process,即还有一部分资源没有被回收(退出 ...

  2. 【RabbitMQ】3、工作队列模式(work模式)

    上一篇博客的作为rabbitMQ的入门程序,也是简单队列模式,一个生产者,一个消费者,今天这篇博客介绍work模式,一个生产者,多个消费者,下面的例子模拟两个消费者的情况. 图示:         一 ...

  3. python文件读写模式 --- r,w,a,r+,w+,a+,rb,wb

    要了解文件读写模式,需要了解几种模式的区别,以及对应指针 r : 读取文件,若文件不存在则会报错 w: 写入文件,若文件不存在则会先创建再写入,会覆盖原文件 a : 写入文件,若文件不存在则会先创建再 ...

  4. 用Web技术开发客户端(一)

    http://www.cnblogs.com/lefan/archive/2012/12/27/2836400.html 范怀宇(@duguguiyu)分享了<豌豆荚2.0重构时遇到的坑> ...

  5. MFC窗体程序中添加调试控制台

    在编写复杂程序的过程中,我们经常需要将一些信息输出到文件或者屏幕上.较控制台应用程序,MFC窗体程序要显得麻烦一些! 下面有2种方法来实现为MFC窗体程序添加调试控制台,方便程序员调试程序和了解当前程 ...

  6. 学习VCL之路(1)

    在TObject类中,有一个Dispatch()方法和一个DefaultHandler()方法,它们都是与消息分发机制相关的. Dispatch()负责将特定的消息分发给合适的消息处理函数.首先它会在 ...

  7. ./redis-trib.rb 报错:/usr/local/rvm/gems/ruby-2.4.2/gems/redis-4.0.1/lib/redis/client.rb:119:in `call': ERR Slot 0 is already busy (Redis::CommandError)

    错误提示是 slot插槽被占用了(这是 搭建集群前时,以前redis的旧数据和配置信息没有清理干净.) 解决方案是 用redis-cli 登录到每个节点执行  flushall  和 cluster ...

  8. Microsoft SQL Server2008安装教程

    自己录制的视频,地址https://share.weiyun.com/5VITfph(微云分享,大小52MB,AVI格式) 视频中安装.net framework如果已经安装好了就不需要安装,也可自行 ...

  9. 怎么用Python写爬虫抓取网页数据

    机器学习首先面临的一个问题就是准备数据,数据的来源大概有这么几种:公司积累数据,购买,交换,政府机构及企业公开的数据,通过爬虫从网上抓取.本篇介绍怎么写一个爬虫从网上抓取公开的数据. 很多语言都可以写 ...

  10. package-lock.json 作用

    package.json里面定义的是版本范围(比如^1.0.0),具体跑npm install的时候安的什么版本,要解析后才能决定,这里面定义的依赖关系树,可以称之为逻辑树(logical tree) ...