复选框代码:
package com.aliyun.moonmm.vm.controls.advanceDataGridClasses
{
import flash.events.Event;
import flash.events.MouseEvent;
import mx.collections.ArrayCollection;
import mx.controls.AdvancedDataGrid;
import mx.controls.CheckBox;
import mx.controls.advancedDataGridClasses.AdvancedDataGridGroupItemRenderer;
public class AdvancedDataGridGroupItemRendererEx extends AdvancedDataGridGroupItemRenderer
{
private var checkBox : CheckBox;
public function AdvancedDataGridGroupItemRendererEx()
{
super();
}
override protected function createChildren():void
{
super.createChildren();
checkBox=new CheckBox();
checkBox.addEventListener(MouseEvent.CLICK,onChange);
checkBox.x = 4;
checkBox.y=label.y + 8;
addChild(checkBox);
}
protected function onChange(e:MouseEvent):void
{
e.stopPropagation();
var cbx:CheckBox = e.currentTarget as CheckBox;
var a:ArrayCollection = this.data.children as ArrayCollection;
if(a != null){
for(var i:int =0;i<a.length;i++)
{
a[i].selected = cbx.selected;
a[i].selectedState = cbx.selected;
}
}
data.selectedState = cbx.selected;
var d:AdvancedDataGrid = this.owner as AdvancedDataGrid;
d.invalidateList();
}
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
{
super.updateDisplayList(unscaledWidth, unscaledHeight);
if (disclosureIcon)
{
disclosureIcon.x=disclosureIcon.x + 20;
}
if (icon)
{
icon.x=icon.x + 20;
checkBox.x = icon.x - 30;
}
label.x=label.x + 20;
checkBox.selected = data.selectedState;
}
}
}
[Embed(source="/../src/images/a_icon.png")]
public static const aIcon:Class;
[Embed(source="/../src/images/b_icon.gif")]
public static const bIcon:Class;
[Embed(source="/../src/images/c_win.gif")]
public static const cIcon:Class;
public static function iconFunc(item:Object):Class
{
if(item.hasOwnProperty("id")){
return Constant.aIcon;
}
else{
switch(item.imageType){
case 1:return Constant.aIcon;
case 2:return Constant.bIcon;
default:return Constant.cIcon;
}
}
return null;
}
<mx:AdvancedDataGrid rowHeight="25" id="dataGridList" height="100%" width="100%" iconFunction="iconFunc">
private function iconFunc(item:Object):Class
{
return Constant.iconFunc(item);
}
将复选框加入 AdvancedDataGrid 中
var a:ClassFactory = new ClassFactory(AdvancedDataGridGroupItemRendererEx);
dataGridList.groupItemRenderer = a;
- 描述: 效果
- 大小: 20 KB
分享到:
相关推荐
非常好用的 felx AdvancedDataGrid 多选框 单选框支持渲染器,不需改到AdvancedDataGrid 代码; 支持 xml 数据源的网上可查到一些, 但这个可是 支持 Array 类型数据源的。
flex AdvancedDataGrid实现checkBox全选功能 实现全选,多选功能
Flex应用3D饼图,柱图线图,仪表盘,AdvancedDataGrid表头皮肤,分数较高,不建议下载,仅自己保留
flex advancedDataGrid 中如何实现带checkbox的树
Flex技术中AdvancedDataGrid使用方法
AdvancedDataGrid控制具体某个单元格可编辑的例子,里面实现了原理,具体如何实现可视判断条件而定,因为自己也是很辛苦实现的,所以分就高点了,别介意,哈哈
flex-datagrid-advancedDataGrid-demo,做的datagrid及advanceddatagrid的例子,希望大家喜欢
flex AdvancedDataGrid 动态添加一行 动态为控制树添加一个节点
<![CDATA[ import mx.controls.CheckBox; import mx.controls.Alert; import com.as3xls.xls.ExcelFile;... Alert.show("行的数据分别是:"+o.idx+"/"+o.names+"/"+o.sex);...</mx:WindowedApplication>
用AdvancedDataGrid组件编写的一个简单的课件管理系统,这是个雏形,有一定的参考价值
flex datavisualization.swc flex 3 AdvancedDataGrid
AdvancedDataGrid综合应用
一个flash文件 可以对flex控件进行css可视化设计 非常的好用
AdvancedDataGrid或datagrid导出到excel.rar AdvancedDataGrid或datagrid导出到excel.rar AdvancedDataGrid或datagrid导出到excel.rar
最新的AdvancedDataGrid行嵌套AdvancedDataGrid实现,该例子只是实现AdvancedDataGrid利用AdvancedDataGridRendererProvider在行中渲染另外一个AdvancedDataGrid,当然也可以渲染其它任何想渲染的界面或者组件,价值...
AdvancedDataGrid实现双表头表格,在某些情况下还是比较实用的,下面有个不错的示例,感兴趣的朋友可以参考下
AdvancedDataGrid导出复杂表头excel
今天我们要说的是官方文档中用了整章介绍的AdvancedDataGrid,AdvancedDataGrid是DataGrid的高级版本,Flex 3 SDK并不包含它,其和Charting Enhancements一起构成了Flex Data Visualization package,TNND,也就是说...
带多选框的DataGrid(AdvancedDataGrid) 表头有全选CheckBox,三种状态:全选、部分选择、无选择 如果改变目录结构,需要在CustomCheckBox.mxml中更改inner.png的路径 使用方法参考“示例参考.txt” --------------...