我正在开发一个基于 flex-4 的大型企业级数据分析软件。我通常需要根据用户选择过滤数据网格,这需要在我的数据库上运行查询。我想知道是否有任何方法可以在没有 sql 查询的情况下过滤网格数据?这将花费很少的时间,这会导致我现在延迟 2-3 分钟。
问问题
125 次
2 回答
1
如果您使用的是 ArrayCollection(或 ICollectionView 的其他实现),请查看 ICollectionView.filterFunction属性。您可以在用户交互后将其设置为您需要的内容并调用 ICollectionView.refresh() - 然后所有关联的网格应自动显示过滤后的数据。
于 2013-03-25T13:11:00.040 回答
1
在 ActionScript 中有很多方法可以做到这一点。但是,既然您使用 Flex,那么我们就依赖于框架。您正在寻找的功能filterFunction
(请参阅文档):
给定一个数据对象,例如{name:"Jo", type:"employee"}
,您可以过滤员工:
myArrayCollection.filterFunction = function(data:Object):Boolean {
return data.type == "employee";
}
myArrayCollection.refresh();
然后应相应地更新您的数据网格。
当然,根据列表中存在的项目数量,这可能会在眨眼间运行或非常缓慢 =)
于 2013-03-25T13:11:47.623 回答