AdvancedDatagrid分组、显示概要信息及问题

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
creationComplete="init(event)">

<fx:Declarations>

</fx:Declarations>

<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.events.FlexEvent;


[Bindable]
private var collection:ArrayCollection;

protected function init(event:FlexEvent):void
{

this.collection = new ArrayCollection();
this.collection.addItem({name:'one',cost:3,city:'北京市'});
this.collection.addItem({name:'one',cost:4,city:'天津市'});
this.collection.addItem({name:'two',cost:1,city:'上海市'});
this.collection.addItem({name:'one',cost:12,city:'重庆市'});
this.collection.addItem({name:'one',cost:5,city:'河北'});
this.collection.addItem({name:'two',cost:8,city:'广州'});
}

]]>
</fx:Script>


<mx:AdvancedDataGrid sortExpertMode="true" creationComplete="mygroup.refresh()">

<mx:dataProvider>

<mx:GroupingCollection2 id="mygroup" source="{collection}" >

<mx:Grouping>

<!-- 分组字段 -->
<mx:GroupingField name="name">

<!--用于定义组级别摘要的 SummaryRow 实例的数组。指定一个或多个 SummaryRow 实例以定义数据摘要-->
<mx:summaries>

<!--
SummaryRow 类代表 AdvancedDataGrid 的摘要行。可使用 GroupingField 或 GroupingCollection 类的 summaries 属性创建有关数据组的摘要数据。在 AdvancedDataGrid 控件的现有行中显示摘要数据,或者在单独的行中显示。
GroupingField 或 GroupingCollection 类的 summaries 属性采用 SummaryRow 类的实例。然后,您可以使用 SummaryRow 类的 fields 属性指定一个或多个 SummaryField/SummaryField2 实例的 Array,这些实例定义用于创建摘要的数据字段。使用 GroupingCollection2 时需要使用 SummaryField2。
-->
<mx:SummaryRow summaryPlacement="last">
<mx:fields>
<!--
SummaryField2 类代表 SummaryRow 实例中的一个属性。每个 SummaryRow 实例都指定一个或多个用于创建数据摘要的 SummayField2 实例。
-->
<mx:SummaryField2 dataField="cost" label="summary" summaryOperation="SUM" />
</mx:fields>
</mx:SummaryRow>


<mx:SummaryRow summaryPlacement="last">
<mx:fields>
<!--
SummaryField2 类代表 SummaryRow 实例中的一个属性。每个 SummaryRow 实例都指定一个或多个用于创建数据摘要的 SummayField2 实例。
-->
<mx:SummaryField2 dataField="cost" label="summary1" summaryOperation="MIN" />
</mx:fields>
</mx:SummaryRow>

</mx:summaries>
</mx:GroupingField>
</mx:Grouping>

</mx:GroupingCollection2>

</mx:dataProvider>

<mx:columns>

<mx:AdvancedDataGridColumn dataField="name" />
<mx:AdvancedDataGridColumn dataField="cost" />
<mx:AdvancedDataGridColumn dataField="city" />

</mx:columns>

<mx:rendererProviders>

<!-- AdvancedDataGridRendererProvider 实例定义由 AdvancedDataGrid 控件使用的单个项呈示器的特征。使用 AdvancedDataGridRendererProvider 类的属性可配置 AdvancedDataGrid 控件中使用项呈示器的位置。 -->

<!-- filed 呈示器的数据提供程序中的数据字段。此属性是可选的。 -->
<!-- columnIndex 索引位置 columnSpan应跨的列数-->
<mx:AdvancedDataGridRendererProvider dataField="summary" columnIndex="1" columnSpan="2">
<mx:renderer>
<fx:Component>
<s:MXAdvancedDataGridItemRenderer >
<s:Label text="Total number of items : {data.summary}" verticalCenter="0"/>
</s:MXAdvancedDataGridItemRenderer>
</fx:Component>
</mx:renderer>

</mx:AdvancedDataGridRendererProvider>

<mx:AdvancedDataGridRendererProvider dataField="summary1" columnIndex="1" columnSpan="2">
<mx:renderer>
<fx:Component>
<s:MXAdvancedDataGridItemRenderer >
<s:Label text="Total number of items : {data.summary1}" verticalCenter="0"/>
</s:MXAdvancedDataGridItemRenderer>
</fx:Component>
</mx:renderer>

</mx:AdvancedDataGridRendererProvider>
</mx:rendererProviders>

</mx:AdvancedDataGrid>


<!--
AdvancedDataGridRendererProvider 中dataFiled在文档中表明该属性可选。删除之后会出现每一列都会有渲染器中的信息。
如果在数据源中添加summary属性也同样会出现上述问题(包含summery、summery1的数据所在的行中均会显示)

??????
-->

</s:Application>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值