查询数据库并把数据ArrayCollection绑定到控件后,
如果需要执行频率不小的检索(认为是不需要频繁请求数据库)
则可以使用对数据源(类型为ArrayCollection)的filterFunction设置过滤函数
filterFunction(item:Object):Boolean 用于消除不符合条件的项item
<s:TextInput change="filterAC()" id="txtIn">
private function filterAC():void
{
if(txtIn.text!="")
{
_npcM.NpcList.filterFunction=filteDataByInput;
_npcM.NpcList.refresh();
}else{
//检索输入为空时:恢复所有数据
_npcM.NpcList.filterFunction=null;
_npcM.NpcList.refresh();
}
}
//具体的过滤函数:返回值boolean 接受参数item datagrid的一行记录
private function filteDataByInput(item:Object):Boolean
{
var result:Boolean=false;//返回值
if(drpl.selectedIndex==0)
{
//名称
if(String(item["f_name"]).indexOf(txtIn.text)>=0)
{
result=true
}
}
return result;
}