加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex 3 AdvancedDataGrid的使用(五)

发布时间:2020-12-15 01:13:18 所属栏目:百科 来源:网络整理
导读:我们继续来讲AdvancedDataGrid的使用。 创建汇总行 您可以使用GroupingField类的summaries属性来创建分组数据的汇总数据,然后您可以将汇总数据与原来数据显示同一行中,也可以将其显示在单独一行中。 以下示例中,AdvancedDataGrid控件显示了两个汇总字段,
我们继续来讲AdvancedDataGrid的使用。

创建汇总行

您可以使用GroupingField类的summaries属性来创建分组数据的汇总数据,然后您可以将汇总数据与原来数据显示同一行中,也可以将其显示在单独一行中。

以下示例中,AdvancedDataGrid控件显示了两个汇总字段,Min Actual和Max Actual:

顶部行的Min Actual和Max Actual字段对应分组中所有行的汇总,而每个Territory的Min Actual和Max Actual字段对应该Territory子组中所有行的汇总。

以下是实际代码:

<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
include "SimpleFlatData.as"
]]>

</mx:Script>
<mx:AdvancedDataGrid id="myADG"
width="100%" height="100%"
initialize="gc.refresh();">

<mx:dataProvider>
<mx:GroupingCollection "gc" source="{dpFlat}">
<mx:Grouping>
<mx:GroupingField name="Region">
<mx:summaries>
<mx:SummaryRow summaryPlacement="group">
<mx:fields>
<mx:SummaryField dataField="Actual"
label="Min Actual" operation="MIN"/>

"Max Actual" "MAX"/>
</mx:fields>
</mx:SummaryRow>
</mx:summaries>
</mx:GroupingField>
"Territory">
</mx:Grouping>
</mx:GroupingCollection>
</mx:dataProvider>
<mx:columns>
<mx:AdvancedDataGridColumn "Region"/>
"Territory_Rep"
headerText="Territory Rep"/>
"Actual"/>
"Estimate"/>
"Min Actual"/>
"Max Actual"/>
</mx:columns>
</mx:AdvancedDataGrid>
</mx:Application>

运行示例

注意在该示例中,我们将GroupingField.summaries属性指定为SummaryRow实例。SummaryRow包含数据汇总的所有信息。例如,我们使用SummaryRow的summaryPlacement属性来将汇总数据添加到分组数据中。可选的,您也可以增加一个新行来存放汇总数据。更多信息请查看“指定汇总数据存放位置“。

每个SummaryRow实例指定一个或多个用来创建数据汇总的SummayField实例。例如,您可以使用SummayField的dataField属性来指定对Actual数据字段进行汇总,label属性用于指明存放汇总数据的数据字段的名称,而operation属性用于指定如何对数值字段几行汇总,您可以使用以下任一值:SUM、MIN、 MAX、AVG或COUNT。

加上了新的合计数据字段,在组件内部,代表分组数据的GroupingCollection其内容如下所示:

[{GroupLabel:"Southwest",Max Actual:55498,Min Actual:29134,children:[
"Arizona",204)">38865,204)">29885,102)">{Region: Territory_Rep:"Barbara Jennings",Actual:40000},
"Dana Binn",204)">30000
}]}
"Central California",0)">"Joe Smith",0)">"Nevada",204)">52888,0)">"Bethany Pittman",204)">45000"Northern California",204)">38805,0)">"Lauren Ipsum",0)">"T.R. Smith",0)">"Southern California",204)">44985,204)">44913,0)">"Alice Treu",0)">"Jane Grove",102)">]

使用GroupingField和SummaryRow类的缺省属性

GroupingField.summaries属性是GroupingField的缺省属性,而SummaryRow.fields属性是 SummaryRow类的缺省属性;因此,您可以在您的代码中省略这些属性而重写前面的示例,如下所示:

"MIN"
"Actual" "MAX"
</mx:Application>

指定汇总数据存放位置

SummaryRow类包含一个summaryPlacement属性用于决定在AdvancedDataGrid控件的那里显示汇总数据。summaryPlacement属性允许的值如下:

  • first 在分组的第一行创建汇总行。
  • last 在分组的最后一行创建汇总行。
  • group 将合计数据添加到对应的分组中。

在前面的“创建汇总中”小节中的示例已经演示了通过指定summaryPlacement属性值为group来将汇总数据添加到分组中。以下示例,使用相同的分组数据但是其summaryPlacement属性设置的是last:

您可以指定多个值给summaryPlacement属性,通过空格分隔,例如,指定“last group”这样的值表示同时在分组级别和分组的末行显示汇总数据。

这样,加上了新的合计数据字段,在组件内部,代表分组数据的GroupingCollection其内容如下所示:

{Max Actual:2988529134528883880544913]

注意,在整个组中添加了一个新行用于存放汇总数据,而且每个子组都添加了一个新行用于存放子组的汇总数据。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读