zoukankan      html  css  js  c++  java
  • flex datagrid checkbox选中项目

    <?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> 

  • 相关阅读:
    poj 1113 Wall 凸包的应用
    NYOJ 78 圈水池 (入门级凸包)
    Monotone Chain Convex Hull(单调链凸包)
    poj Sudoku(数独) DFS
    poj 3009 Curling 2.0(dfs)
    poj 3083 Children of the Candy Corn
    Python join()方法
    通过FISH和下一代测序检测肺腺癌ALK基因融合比较
    华大病原微生物检测
    NGS检测ALK融合大起底--转载
  • 原文地址:https://www.cnblogs.com/wshsdlau/p/3436437.html
Copyright © 2011-2022 走看看