dataGrid过滤器查询和渲染器的使用
来源:互联网 发布:java 加密压缩文件 编辑:程序博客网 时间:2024/05/21 06:23
以前没用过滤器,查询比较麻烦,需要遍历整个arrayCollecton
1.备份原来的数据
private var myCt:ArrayCollection = new ArrayCollection();private var flag:Boolean = true;private function backup():void {if(flag) {myCt.removeAll();for(var i:int=0;i<myArrayCollection.length;i++) {var person:Object = myArrayCollection.getItemAt(i);myCt.addItem(person);}}flag = false;}
2.从备份中取出所有
private function getAll():void {myArrayCollection.removeAll();for(var j:int=0;j<myCt.length;j++) {var temp:Object = myCt.getItemAt(j);myArrayCollection.addItem(temp);}}
以上两个方法都是为查询做准备的
3.查询
private function selectInfo(key:String):void {//查询之前先备份绑定的ArrayCollection,并清空绑定的ArrayCollectionbackup();//遍历备份的数据if(key.length != 0) {myArrayCollection.removeAll();for(var i:int=0;i<myCt.length;i++) {var person:Object = myCt.getItemAt(i);if((person.num).indexOf(key) != -1 || (person.name).indexOf(key) != -1 || (person.company).indexOf(key) != -1) {myArrayCollection.addItem(person);} }//如果查询结果为空if(myArrayCollection.length == 0) {Alert.show("没有查询到相关数据,请重新输入关键字查询!");}} else {//输入为空,返回所有数据getAll();}myData.invalidateList();}上面是以对编号,姓名和公司的模糊查询
下面用filter来做:
<?xml version="1.0" encoding="utf-8"?><s: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" minWidth="955" minHeight="600" creationComplete="init()"><fx:Script><![CDATA[import mx.collections.ArrayCollection;import mx.controls.Alert;import mx.controls.CheckBox;import mx.core.FlexGlobals;import mx.events.FlexEvent;[Bindable]public var arr:ArrayCollection = new ArrayCollection([{name:'jim',num:'001',selected:true},{name:'tom',num:'002'},{name:'lucy',num:'003'}]);private function init():void{dg.dataProvider = arr;}private function textinput1_enterHandler(event:FlexEvent):void{arr.filterFunction = dgFilter;arr.refresh();}private function dgFilter(item:Object):Boolean{if(item["name"].toString().indexOf(txt.text)>=0 ){return true;}else if(item["num"].toString().indexOf(txt.text.toString())>=0 ){return true;}else{return false;}}public function a():void{Alert.show("hello");}]]></fx:Script><fx:Declarations><!-- 将非可视元素(例如服务、值对象)放在此处 --></fx:Declarations><mx:DataGrid id="dg" x="166" y="57"><mx:columns><mx:DataGridColumn dataField="selected"><mx:itemRenderer><fx:Component><mx:Button label="click me" click="outerDocument.a()"/></fx:Component></mx:itemRenderer></mx:DataGridColumn><mx:DataGridColumn headerText="姓名" dataField="name"/><mx:DataGridColumn headerText="编号" dataField="num"/></mx:columns></mx:DataGrid><s:TextInput id="txt" x="166" y="27" enter="textinput1_enterHandler(event)"/></s:Application>这样就很简单了
- dataGrid过滤器查询和渲染器的使用
- flex checkbox和combobox作为datagrid的渲染器
- flex datagrid渲染使用
- hibernate查询过滤器的使用
- EditorGridPanel和渲染器renderer的使用
- angular过滤器的使用和自定义过滤器
- DataGrid定义项目渲染器和项目编辑器的四种方式
- Struts2 拦截器和过滤器的使用
- 渲染器的使用
- easyui datagrid 数据的显示和查询
- 查询和过滤器
- EasyUI使用心得——datagrid的查询功能和SubGrid冲突导致分页无效问题
- 过滤器和拦截器使用
- Servlet中的Filter过滤器的介绍和使用 编写过滤器
- 加快easyui的datagrid的数据渲染
- AOP--Filter使用,过滤器和拦截器的区别
- java web 过滤器跟拦截器的区别和使用
- java web 过滤器跟拦截器的区别和使用
- FSBII(一)class CHyperlinkStatic : public CStatic
- 使用MulticastSocket发送组播包无法获取IGMP包的问题
- 浅谈域名的选择的思路
- 接口 正则表达式 字符串
- cout<<"Press any key to exit!\n"<<endl;
- dataGrid过滤器查询和渲染器的使用
- 【Siebel】自定义的方法是用BC的UserProperty修改内容时遇到的问题
- Opencv 2.3 superpack版本在Visual Studio 2010下的配置
- stringBuffer 和stringBuilder
- JAVA桌面开发使窗体屏幕居中
- 2系统启动后的 wifi加载 过程-图解
- dicom文件的显示(基于dcmtk实现)
- 一个简单的显示图像程序(OpenCV)
- php 一个无限级数组返回完整的键值