首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用filterFunction进行多参数过滤

使用filterFunction进行多参数过滤
EN

Stack Overflow用户
提问于 2011-09-19 18:32:55
回答 1查看 368关注 0票数 0

我定义了一个XMLList,它从下面的XML文件中获取数据:

代码语言:javascript
复制
    <modules>
        <module hab_id="1" module_id="1" default="true" access="true" />
        <module hab_id="1" module_id="2" default="true" access="true" />
        <module hab_id="1" module_id="2" default="true" access="false" />
        <module hab_id="1" module_id="2" default="false" access="true" />
        <module hab_id="2" module_id="3" default="true" access="true" />
        <module hab_id="2" module_id="3" default="false" access="true" />
    </modules>

现在,在我的函数中,让我们在单击一个按钮时,同时按hab_id和module_id进行过滤,并填充一个数据网格。

我在函数中尝试了:

代码语言:javascript
复制
    public function click_Handler(event:MouseEvent):void{
        myXMLList.filterFunction = myFilter;
        myXMLList.refresh();
        myDatagrid.dataProvider = myXMLList;
    }

    private function myFilter(xml:XML):Boolean{
                    return Number(xml.@hab_id) == 1;
                    return Number(xml.@module_id) == 2;
                }

但是这个过滤器似乎只对hab_id起作用。它不会同时按hab_id和module_id进行过滤。

对此有什么帮助吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-20 00:06:23

试试这个:

代码语言:javascript
复制
private function myFilter(xml:XML):Boolean{
   return Number(xml.@hab_id) == 1 && Number(xml.@module_id) == 2;
}

您的第一个返回将从函数返回,永远不会允许执行第二个返回。将相等性检查合并到单个返回值中应该会得到您想要的结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7469545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档