其实,对DatatGrid进行筛选,本质是对DataGrid的dataProvider进行筛选。筛选功能通过ICollectionView接口的filterFunction属性实现。
通常,DataGrid的dataProvider会是一个ArrayCollection,而ArrayCollection实现了ICollectionView接口,因此可以直接使用filterFunction属性。
因此,要实现对一个ArrayCollection的筛选,只需要把一个自定义函数名指定给这个要被筛选的ArrayCollection的filterFunction属性,然后刷新ArrayCollection即可,例如:
cityAC.filterFunction = filterFunc; cityAC.refresh(); 可以查看ArrayCollection的属性filterFunction 的说明,其最重要一点是refresh()的调用。 自定义函数就是筛选功能实现的核心: filterFunction 的签名为:(item:Object):Boolean private function filterFunc(item:Object):Boolean filterFunc这个函数的参数就是ArrayCollection的一项,通过在判断相应项目的值, 返回true的项目会显示, 返回false的项目则不会显示在DataGrid中。