在没有sql查询的情况下过滤数据

时间:2013-03-25 13:04:49

标签: actionscript-3 flex4

我正在开发一个基于flex-4的大型企业级数据分析软件。我通常需要根据用户选择过滤datagrids,这需要在我的数据库上运行查询。我想知道是否有任何方法可以在没有sql查询的情况下过滤网格数据?这需要很短的时间才能让我现在延迟2-3分钟。

2 个答案:

答案 0 :(得分:1)

如果您正在使用ArrayCollection(或ICollectionView的其他实现),请查看ICollectionView.filterFunction property。您可以在用户交互后将其设置为您需要的内容并调用ICollectionView.refresh() - 所有关联的网格应自动显示已过滤的数据。

答案 1 :(得分:1)

在ActionScript中有很多方法可以做到这一点。但是,由于您使用Flex,我们依赖于框架。您要查找filterFunction的功能(请参阅the docs):

给定{name:"Jo", type:"employee"}等数据对象,您可以使用以下内容过滤员工:

myArrayCollection.filterFunction = function(data:Object):Boolean {
   return data.type == "employee";
}
myArrayCollection.refresh();

然后应相应地更新您的数据网格。

当然,根据列表中存在的项目数量,这可能会在眨眼之间运行或者速度非常慢=)