我定义了一个XMLList,它从下面的XML文件中获取数据:
<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进行过滤,并填充一个数据网格。
我在函数中尝试了:
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进行过滤。
对此有什么帮助吗?
发布于 2011-09-20 00:06:23
试试这个:
private function myFilter(xml:XML):Boolean{
return Number(xml.@hab_id) == 1 && Number(xml.@module_id) == 2;
}您的第一个返回将从函数返回,永远不会允许执行第二个返回。将相等性检查合并到单个返回值中应该会得到您想要的结果。
https://stackoverflow.com/questions/7469545
复制相似问题