Flex3学习轨迹:使用DataGrid实现过滤显示
2012-02-29 14:40
190 查看
DataGrid组件主要用于显示数据,其本身有排序,自定义列布局,优化列标题,应用渲染器和项编辑等功能。但是DataGrid并没有实现数据过滤显示功能。
效果图如下:
代码如下:
集合的关联这里不再赘述,有几点需要注意的地方。
1、AS中使用了toFixed(2)方法对数据进行格式化操作。
2、使用了filterFunction函数完成了判断Value是否等于0的任务。
3、使用refresh()方法进行刷新数据列。
效果图如下:
代码如下:
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" fontSize="12"> <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 title="实现数据过滤显示" width="360" height="240" horizontalAlign="center" status="{arrColl.length}/{arrColl.source.length} 行"> <mx:ApplicationControlBar dock="true" width="100%"> <mx:CheckBox id="checkBox" label="过滤数据(value=0)" click="toggleFilter();" /> </mx:ApplicationControlBar> <mx:DataGrid id="dataGrid" dataProvider="{arrColl}" rowCount="5" verticalScrollPolicy="on" width="300"> <mx:columns> <mx:DataGridColumn dataField="name" /> <mx:DataGridColumn dataField="value" labelFunction="value_labelFunc" /> </mx:columns> </mx:DataGrid> </mx:Panel> </mx:Application>
集合的关联这里不再赘述,有几点需要注意的地方。
1、AS中使用了toFixed(2)方法对数据进行格式化操作。
2、使用了filterFunction函数完成了判断Value是否等于0的任务。
private function processFilter(item:Object):Boolean { return parseFloat(item.value) == 0; }
3、使用refresh()方法进行刷新数据列。
相关文章推荐
- Flex3学习轨迹:使用ToolTipManager实现动态的工具提示
- Flex3学习轨迹:使用行为实现按钮放大(一)
- Flex3学习轨迹:使用行为实现按钮放大(二)
- Flex3学习轨迹:使用行为实现按钮放大(三)
- jQuery Easyui学习教程之实现datagrid在没有数据时显示相关提示内容
- jQuery Easyui学习教程之实现datagrid在没有数据时显示相关提示内容
- easyui学习:datagrid显示图片并预览的实现方法
- Flex3学习轨迹:缓动函数简单实现
- discuz学习记录:前面的数据用EasyUI DataGrid显示,实现了服务器端分页
- Flex3 DataGrid拖拽到ClumnChart动态显示图表实现代码
- Flex3学习轨迹:显示简单的动态鼠标
- openCV学习笔记(5):使用sprintf函数实现在窗口连续显示同一文件夹下的图片
- iOS学习笔记20-通过AirServer使用AirPlay镜像并实现多屏幕显示控制
- Flex3学习轨迹:复合效果的简单实现
- SilverLight商业应用程序开发---学习笔记(9)从摘要信息跳转到详细信息 导航到细节视图 在弹出窗体打开细节视图 使用DataGrid控件的行细节显示特性显示细节内容 主/从视图的实现
- 【lucene系列学习四】使用IKAnalyzer分词器实现敏感词和停用词过滤
- Asp.Net使用Easy UI DataGrid 实现行过滤[行模糊查询数据]
- Flex3学习轨迹:自定义缓动函数实现一个弹跳缓动动画
- Flex3学习轨迹:实现按钮圆角
- JQuery EasyUI 学习——Struts2与EasyUI DataGrid数据表格结合使用显示数据库数据