我已经定义了一个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过滤。
对此有何帮助?
答案 0 :(得分:0)
试试这个:
private function myFilter(xml:XML):Boolean{
return Number(xml.@hab_id) == 1 && Number(xml.@module_id) == 2;
}
您的第一次返回将从函数返回,从不允许第二次返回执行。 将等式检查组合成单个返回值应该可以满足您的需求。