下面的实例演示了在Flex中怎样使用 CheckBox 组件和 ArrayCollection 的 filterFunction 属性来过滤 DataGrid 组件的 item 。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="middle"
backgroundColor="white">
<mx:Script>
<![CDATA[
import mx.controls.dataGridClasses.DataGridColumn;
private function toggleFilter():void {
if (checkBox.selected) {
arrColl.filterFunction = processFilter;
} else {
arrColl.filterFunction = null;
}
arrColl.refresh();
}
private function processFilter(item:Object):Boolean {
return parseFloat(item.value) == 0;
}
private function value_labelFunc(item:Object, col:DataGridColumn):String {
return item[col.dataField].toFixed(2);
}
]]>
</mx:Script>
<mx:ArrayCollection id="arrColl">
<mx:source>
<mx:Array>
<mx:Object name="ColdFusion" value="0.00" />
<mx:Object name="Dreamweaver" value="0.12" />
<mx:Object name="Fireworks" value="1.01" />
<mx:Object name="Flash" value="0" />
<mx:Object name="Flash Player" value="-0.00" />
<mx:Object name="Flex" value="0.00" />
<mx:Object name="Illustrator" value="2.92" />
<mx:Object name="Lightroom" value="0.32" />
<mx:Object name="Photoshop" value="0.06" />
</mx:Array>
</mx:source>
</mx:ArrayCollection>
<mx:Panel status="{arrColl.length}/{arrColl.source.length} item(s)">
<mx:DataGrid id="dataGrid"
dataProvider="{arrColl}"
verticalScrollPolicy="on">
<mx:columns>
<mx:DataGridColumn dataField="name" />
<mx:DataGridColumn dataField="value"
labelFunction="value_labelFunc" />
</mx:columns>
</mx:DataGrid>
<mx:ControlBar>
<mx:CheckBox id="checkBox"
label="Filter DataGrid"
click="toggleFilter();" />
</mx:ControlBar>
</mx:Panel>
</mx:Application>
分享到:
相关推荐
NULL 博文链接:https://xaajie.iteye.com/blog/379054
原理就是ArrayCollection的filterFunction的使用。是根据老外一个帖子改的,其他下载地址在 :http://www.zuidaima.com/share/1714555305004032.htm
其中包含一个三种状态的checkbox,DataGrid代码中引用了 带多选框的DataGrid(AdvancedDataGrid) 表头有全选CheckBox,三种状态:全选、部分选择、无选择 如果改变目录结构,需要在...目前数据源只能用ArrayCollection
Flex的Array和ArrayCollection
creationComplete="service.send()" > <![CDATA[ import mx.controls.Alert; import mx.rpc.events.FaultEvent;... <mx:DataGrid width="300" dataProvider="{slides}"/> </mx:Application>
NULL 博文链接:https://tangdonglai.iteye.com/blog/1478277
Flex的ArrayCollection在某些情况无法绑定解决方法
ArrayCollection添加过滤器后,调用removeItemAt()是无法删除的,下面有个不错的解决方法,大家可以参考下
使用flash builder测试成功,绝对可以使用,使用的swc包都包含在里面 主要作用:使用flex把datagrid里面的数据(ArrayCollection)导出为Excel文件、CSV文件和导出到剪贴板
ArrayCollection求最大值,最小值,排序。供大家共同学习一下。
tree多数情况下操作xml比较方便,而本人却对xml有些排斥,说得更确切些,对xml用的不是那么得心应手,所以选择了ArrayCollection
DataGrid条目过滤和Tree 所有节点过滤的例子 Flash Builder 4工程,可直接导入
java-flex-mysql,实现增删改查,用户富客户端Flex,后台java封装list形式,Flex前台ArrayCollection来接受!
如果你建立的项目不是flex项目,而需要使用ArrayCollection等,请把这个mx包引入解决问题
12.7节在Flex Effect里使用DisplacementMapFilter过滤器 12.8节创建AnimateColor 特效 12.9节使用Convolution Filter创建渐变效果 第十三章. 集合(439) 13.1节. 为ArrayCollection添加,排序和获取数据 13.2节. ...
Flex 编程小技巧 1. 复制内容到剪贴板 1. System.setClipboard(strContent); 2. 复制一个 ArrayCollection 1. //dummy solution( well, it works ) 2. var bar:ArrayCollection = new ArrayCollection(); 3. for ...
flex4 动态获取对象属性,动态生成数据源,动态生成lineChart,清除数据。 1.该图表的数据源为ArrayCollection类型的arrayC 2.每增加一条线,其实就是增加一个数据源中的ArrayCollection每个对象的一个属性,且属性...
1. Java通过第三方控件POI操作Excel,读取的数据存储在...2. 通过Blazeds将ArrayList发送到Flex中的ArrayCollection中。(Blazeds构建过程不在本篇讨论范围,见flex4+blazeds+java通信(视频)) 3. 绑定到DataGrid。
//fr.data为flex加载excel的byte数组 var sheet:Array = excel.getSheetArray();//得到表格数据,为Array格式 var datasource:ArrayCollection = new ArrayCollection(sheet); //可转换为ArrayCollection,用于表格...