1

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

4

2 回答 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 回答