我正在开发一个基于flex-4的大型企业级数据分析软件。我通常需要根据用户选择过滤datagrids,这需要在我的数据库上运行查询。我想知道是否有任何方法可以在没有sql查询的情况下过滤网格数据?这需要很短的时间才能让我现在延迟2-3分钟。
答案 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();
然后应相应地更新您的数据网格。
当然,根据列表中存在的项目数量,这可能会在眨眼之间运行或者速度非常慢=)