Flex ms:AdvancedDataGrid汇总统计方法
GroupingCollection2 在平面数据中创建要显示在 AdvancedDataGrid 控件中的分组数据。 grouping : 指定应用于源数据的 Grouping 实例。 GroupingField 类提供用于对由 AdvancedDataGrid 控件显示的平面数据进行分组的各数据字段。 summaries定义任意根级别数据摘要的 SummaryRow 实例数组。指定一个或多个 SummaryRow 实例以定义数据摘要。 SummaryRow 类代表 AdvancedDataGrid 的摘要行。可使用 GroupingField 或 GroupingCollection 类的 summaries 属性创建有关数据组的摘要数据。在 AdvancedDataGrid 控件的现有行中显示摘要数据,或者在单独的行中显示。 SummaryField2 类代表 SummaryRow 实例中的一个属性。每个 SummaryRow 实例都指定一个或多个用于创建数据摘要的 SummayField2 实例。 ( 以上来自Flex4 Beta语言参考) ? mx:AdvancedDataGrid 数据汇总例子: <fx:Script> <![CDATA[ import mx.collections.ArrayCollection; import mx.collections.SummaryObject; [Bindable] private var areaData:ArrayCollection=new ArrayCollection([ {JiBie:"1",PianQuHao:"442GOOGLE02020",MianJi:100,BaiFen:10},{JiBie:"1",PianQuHao:"44200TMD102020",MianJi:200,BaiFen:1},{JiBie:"2",PianQuHao:"44200000133330",MianJi:300,BaiFen:40},PianQuHao:"44200000222220",MianJi:120,BaiFen:50},{JiBie:"3",PianQuHao:"44200000102020",BaiFen:60},{JiBie:"4",MianJi:220,BaiFen:20} ]); ]]> </fx:Script> <mx:AdvancedDataGrid id="myADG" columnWidth="100" height="100%" initialize="gc.refresh();"> <mx:dataProvider> <mx:GroupingCollection2 id="gc" source="{areaData}"> <mx:grouping> <mx:Grouping> <mx:GroupingField name="JiBie"> <mx:summaries> <mx:SummaryRow summaryPlacement="group" > <mx:fields> <mx:SummaryField2 dataField="MianJi" summaryOperation="SUM" /> <mx:SummaryField2 dataField="BaiFen" summaryOperation="SUM" /> </mx:fields> </mx:SummaryRow> </mx:summaries> </mx:GroupingField> </mx:Grouping> </mx:grouping> </mx:GroupingCollection2> </mx:dataProvider> <mx:columns> <mx:AdvancedDataGridColumn dataField="JiBie" headerText="级别"/> <mx:AdvancedDataGridColumn dataField="PianQuHao" headerText="片区号"/> <mx:AdvancedDataGridColumn dataField="MianJi" headerText="面积"/> <mx:AdvancedDataGridColumn dataField="BaiFen" headerText="百分比"/> </mx:columns> </mx:AdvancedDataGrid>
"first" - 创建摘要行作为组中的第一行。 "last" — 创建摘要行作为组中的最后一行。 "group" - 将摘要数据添加到与组对应的行。 可以指定多个值,用空格分隔。例如,"last group" 值显示位于组级别中子项最后一行的相同摘要行。 SummaryField2属性summaryOperation针对子代执行的摘要,对于数值字段:SUM、MIN、MAX、AVG 或 COUNT。(一定要大写) 当<mx:SummaryRow summaryPlacement="group last" >时,效果如下图: <mx:summaries> <mx:SummaryRow summaryPlacement="group last" > <mx:fields> <mx:SummaryField2 dataField="MianJi" summaryOperation="SUM" /> <mx:SummaryField2 dataField="BaiFen" summaryOperation="SUM" /> </mx:fields> </mx:SummaryRow> </mx:summaries> ------------------------------------------------ 添加“合计”字样: <mx:summaries> <mx:SummaryRow summaryPlacement="last" summaryObjectFunction="{function():Object{return {JiBie: '合计:'};}}"> <mx:fields> <mx:SummaryField2 dataField="MianJi" summaryOperation="SUM" /> <mx:SummaryField2 dataField="BaiFen" summaryOperation="SUM" /> </mx:fields> </mx:SummaryRow> </mx:summaries> summaryObjectFunction指定定义摘要对象的回调函数,它是 SummaryObject 类的一个实例。 <mx:summaries> <mx:SummaryRow summaryPlacement="group" summaryObjectFunction="{function():Object{return {PianQuHao: '合计:'};}}"> <mx:fields> <mx:SummaryField2 dataField="MianJi" summaryOperation="SUM" /> <mx:SummaryField2 dataField="BaiFen" summaryOperation="SUM" /> </mx:fields> </mx:SummaryRow> </mx:summaries> ----使用另一方法来使group时显示“合计”. -------------------------------------------------------------------- <mx:dataProvider> <mx:GroupingCollection2 id="gc" source="{areaData}"> ... <mx:SummaryRow summaryPlacement="group" > <mx:fields> <mx:SummaryField2 dataField="MianJi" summaryOperation="SUM" label="MianJiHeJi" /> <mx:SummaryField2 dataField="BaiFen" summaryOperation="SUM" label="BaiFenHeJi" /> </mx:fields> ... </mx:dataProvider> <mx:columns> ... <mx:AdvancedDataGridColumn dataField="MianJiHeJi" headerText="面积合计"/> <mx:AdvancedDataGridColumn dataField="BaiFenHeJi" headerText="百分比合计"/> </mx:columns> 要注意:SummaryField2中的label属性是与AdvancedDataGridColumn的属性dataField对应的 ----------------------------------------------- 如何设计汇总的行背景颜色,研究中,日后补上 ... (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |