您现在的位置: 365建站网 > 365文章 > Flex过滤器

Flex过滤器

文章来源:365jz.com     点击数:385    更新时间:2009-09-24 22:32   参与评论

DEMO:

http://hi.baidu.com/candypopoo1986/blog/item/afa0932846c52a91023bf6ef.html

mxml:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="
http://www.adobe.com/2006/mxml" creationComplete="ini()" layout="absolute" height="299" width="328" backgroundColor="#FFFFFF">
<mx:Script>
   <![CDATA[
    import mx.controls.List;
    import mx.collections.ArrayCollection;
    import mx.controls.Alert;
    [Bindable]
    public var Arr:ArrayCollection = new ArrayCollection([{name:"popoo",age:23,sal:30000},{name:"haha",age:12,sal:4000},{name:"bobo",age:10,sal:2322},{name:"hoho",age:3,sal:20202}]);
    public function ini():void{
     Arr.filterFunction = filter;
     Arr.refresh();
    }
    public function filter(value:Object):Object
    {
     var str:String = select.selectedItem.name;
     if(Number(value[str]>int(t1.text))){
      return true;
     }
     return false;
    }
   ]]>
</mx:Script>
<mx:DataGrid dataProvider="{Arr}" fontSize="12" x="10" y="10">
   <mx:columns>
    <mx:DataGridColumn headerText="姓名" dataField="name"/>
    <mx:DataGridColumn headerText="年龄" dataField="age"/>
    <mx:DataGridColumn headerText="工资" dataField="sal" />
   </mx:columns>
</mx:DataGrid>
<mx:TextInput id="t1" x="126" y="192" />
<mx:Button x="10" y="240" fontSize="12" label="查询" click="ini()"/>
<mx:ComboBox id="select" x="10" y="192" width="66" fontSize="12">
<mx:Object label="年龄" name="age" />
<mx:Object label="工资" name="sal" />
</mx:ComboBox>
<mx:Label x="94" y="194" text="大于" fontSize="12"/>
</mx:Application>

这种机制在于重新删选了dataProvider中的ArrayCollection 数据,设置数据绑定后,重写filterFunction 方法,就会根据过滤内容进行重新展示

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛

发表评论 (385人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
昵称:
最新评论
------分隔线----------------------------

快速入口

· 365软件
· 杰创官网
· 建站工具
· 网站大全

其它栏目

· 建站教程
· 365学习

业务咨询

· 技术支持
· 服务时间:9:00-18:00
365建站网二维码

Powered by 365建站网 RSS地图 HTML地图

copyright © 2013-2024 版权所有 鄂ICP备17013400号