读书人

AdvancedDataGrid多表头与树形报表(数

发布时间: 2012-11-25 11:44:31 作者: rapoo

AdvancedDataGrid多表头与树形表格(数据统计)


AdvancedDataGrid多表头与树形报表(数据统计)

?注意:在AdvancedDataGrid的初始化回调函数里一定要刷新一下数据提供器,否则无法显示出数据(当然也可以在creationComplete里刷新)
?

以上是最基本的分组数据表格,大多数时候客户会要求我们为分组增加数据统计,我可不想自己去算,当然AdvancedDataGrid也提供了这样的功能

添加数据统计需要修改GroupingCollection对象

我们可以为全部数据添加统计


AdvancedDataGrid多表头与树形报表(数据统计)
?

?也可以为每个分组添加统计

AdvancedDataGrid多表头与树形报表(数据统计)
?

(⊙o⊙)…统计行没有文字说明啊,别人怎么知道这数据代表什么含义啊!!!好吧,我们在前面的空白单元格里加一个文字说明


AdvancedDataGrid多表头与树形报表(数据统计)

?

(2)"last"?将统计数据作为分组的最后一行,默认值就是它

(3)"group" 将统计数据放到分组行中,(⊙o⊙)…这个该怎么表述才容易理解呢?还是自己看效果吧。


AdvancedDataGrid多表头与树形报表(数据统计)
?代码自己改下吧 summaryPlacement="group"。不过郁闷的是,Total几个字不见了,好吧,暂时先无视它,一会儿再说。
(4)什么?你说数据太多,显示一个统计不够,看统计,页面还要滚来滚去?好吧,满足你,能写的都给你写上,你要是非要把统计信息显示到状态栏上,那我就没办法了。


AdvancedDataGrid多表头与树形报表(数据统计)
?

?SummaryRow还有2个属性:itemCreationPolicy(项目创建时机)和itemDestructionPolicy(项目销毁时机)

(1)itemCreationPolicy
?deferred(默认) 直至切换到包含当前组件的状态时才创建
?immediate 立即创建组件,而不管当前的状态如何

(2)itemDestructionPolicy
?never (默认) - 组件一旦创建就不会被自动销毁
?auto 当离开包含该组件的状态时,组件将被自动销毁
我觉着吧,用默认值挺好的,如非特殊用途,就不要改了。

(话说这两个属性不论在FlashBuilder的ASDoc还是Flex4API中都没有找到,这是什么情况)

至此,SummaryRow基本上学习完了,接下来看看它的fields子元素SummaryField吧(问:什么,你刚刚没说fields啊?答:好吧,SummaryRow有个默认MXML属性叫做fields,至于什么是默认MXML属性,这个...咱们还是看SummaryField吧)

一个SummaryField2表示一个统计列。

?请注意SummaryField2有个label属性。事实上一开始我根本没看懂ASDoc上对这个属性的解释是什么含义,(好吧,我的英文真的很烂,以至于现在还没过四级,不过这并不妨碍我看全英文的Flex4Cookbook....的代码)不过经过一番试验,我就有了结论。label属性实际上就是指定这个统计值的属性名的,也就是上面说到的Key。它生成的对象将是:

{Territory_Rep: 'Total >>', EstTotal:XXXXX}

当然你会发现这个结果无法在Grid中显示出来了,那么如何让它显示出来呢?


?看吧,统计值显示出来了。

?哦,对了,最后还剩一个summaryOperation属性,代表要执行的统计操作,默认是汇总(SUM),有效值包括:

SUM, MIN, MAX, AVG, COUNT

不多解释,一般人都能看懂。好了,这是我学习了半个下午的成果,用了更多的时间给写下来...?

?

1 楼 蓝月儿 2011-11-30 好,我初学者,想同时获取分组名和列名的组合,该怎么循环呢,例如,得到Sales Figures(Estimate)。 2 楼 pyleaf 2012-01-11 蓝月儿 写道好,我初学者,想同时获取分组名和列名的组合,该怎么循环呢,例如,得到Sales Figures(Estimate)。
抱歉了,很久没来这看。
几个月没有碰Flex,基本上忘光了。我也是在学习的过程中写的文章,也并没有深入探究。 3 楼 heraleign 2012-08-21 非常强大,并且楼主说得简明易懂!谢谢,这样的高手很多,讲得这样清楚的人不多!

读书人网 >Web前端

热点推荐