我需要对flat arraycollection数据进行分组和汇总。数据不能在app的一侧分组,必须返回arraycollection

时间:2011-09-23 16:49:54

标签: flex actionscript-3 grouping arraycollection

我的应用程序中有平面数据,我需要按照通常的sql查询进行分组,汇总和计数。但是对于这个项目,它必须在flex应用程序中完成。我需要弄清楚如何使用我的Arraycollection中的datatime字段按天或月分组我的数据,然后适当地计算或汇总其他字段中的数据。我之前使用过Groupingcollections,但只在绑定到分层控件(如AdvancedDataGrid和Tree)时才使用,但是我需要一个带有分组和汇总数据的结果ArrayCollection。

基本上,我正在尝试像sql表(GROUP BY MONTH(datetime),COUNT,COUNT(DISTINCT()等)访问我的AC,我不确定该怎么做。有没有人有经验这样做?

2 个答案:

答案 0 :(得分:2)

您可以试试ActionLinq(https://bitbucket.org/briangenisio/actionlinq/wiki/Home)。 我自己没有用过它,但我一直想要尝试一下:)

它是actionscript中Linq(来自C#)的一个实现。这为您提供了一种以类似SQL的方式处理数据集合的功能方法(选择,分组,过滤等)。

我会将其描述为类固醇的filter方法。

以下是网站上的一个示例 - 它显示了一些类似SQL的名称以及链接的工作方式:

var transformed:Array =
    [-4, -3, -2, -1, 0, 1, 2, 3, 4]
    .where(isEven)
    .select(square)
    .distinct()
    .reverse()
    .toArray();

assertThat(transformed, array(0, 4, 16));

此处提供更多信息和示例: http://riarockstars.com/2011/02/07/processing-data-on-the-clientactionlinq/

答案 1 :(得分:0)

您可能会发现此示例将您指向正确的方向http://flexdiary.blogspot.com/2008/09/groupingcollection-example-featuring.html