Flex利用Datagrid来设置全选和单选

1,效果预览图:

2,设置一个状态位,用于checkbox的选择的,从后台获取的对象集合ArrayCollection。假如其对象为Expert,有属性mainid,tname,major,depart!有两个方法设置状态位。

2.1 在后台给expert对象增加一个属性,譬如selected,类型为boolean,这样前台设置checkbox的列就可以用这个字段了

2.2 在前台处理

 protected function getallApp_result(event:ResultEvent):void
   {
    // TODO Auto-generated method stub
    allapplist = event.result as ArrayCollection;
    //初始化全部未选择
    for(var i:int=0;i<allapplist.length;i++)
    {
     allapplist.getItemAt(i).selected=false;
    }
    
   }

这里就是在前台中加一个字段来设置

3,设置一个全局变量,来用于对标题栏上的checkbox做为状态位处理。

[Bindable]
   public var allSelectCheck:Boolean=false;
4,具体实现如下:

<mx:DataGrid id="appdg" styleName="DataGrid" width="766" height="90%"
         dataProvider="{allapplist}" 
         horizontalScrollPolicy="on" headerStyleName="myHeaderStyles" color="#393939" x="74">
      <mx:columns>
       <mx:DataGridColumn headerText="选择"  width="40" sortable="false">
        <mx:headerRenderer>
         <fx:Component>
          <mx:VBox horizontalAlign="center">
           <mx:CheckBox selected="{outerDocument.allSelectCheck}"
               click="outerDocument.selectAll(this)" />
          </mx:VBox>
         </fx:Component>
        </mx:headerRenderer>
        
        <mx:itemRenderer> 
         <fx:Component> 
          <mx:HBox horizontalAlign="center">
           <mx:CheckBox selected="{data.selected}" 
               click="data.selected =!data.selected"/>
          </mx:HBox>
         </fx:Component> 
        </mx:itemRenderer>
       </mx:DataGridColumn>
       <mx:DataGridColumn headerText="项目编号" dataField="appid" width="150"/>
       <mx:DataGridColumn headerText="项目名称" dataField="appname" width="200"/>
       <mx:DataGridColumn headerText="申请人" dataField="apppeople" width="80"/>
       <mx:DataGridColumn headerText="申请类别" dataField="apptype" width="150"/>
      </mx:columns>    
     </mx:DataGrid>




本文转自 zhao_xiao_long 51CTO博客,原文链接:http://blog.51cto.com/computerdragon/1094389

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值