包 | mx.collections |
类 | public class GroupingCollection2 |
继承 | GroupingCollection2 HierarchicalData EventDispatcher Object |
实现 | IGroupingCollection2 |
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4 |
运行时版本: | Flash Player 10, AIR 1.5 |
注意:在先前版本的 Flex 中,您将 GroupingCollection 类与 AdvancedDataGrid 控件一起使用。GroupingCollection2 类是 Flex 4 中的新类,提供比 GroupingCollection 更好的性能。
要使用分组数据填充 AdvancedDataGrid 控件,可以在平面数据中创建 GroupingCollection2 类的一个实例,然后将该 GroupingCollection2 实例传递给 AdvancedDataGrid 控件的数据提供程序。要指定平面数据的分组字段,可将一个 Grouping 实例传递给 GroupingCollection2.grouping
属性。Grouping 实例包含 GroupingField 实例的 Array,每个分组字段一个。
以下示例使用 GroupingCollection2 类定义两个分组字段:Region 和 Territory。
<mx:AdvancedDataGrid id="myADG" <mx:dataProvider> <mx:GroupingCollection2 id="gc" source="{dpFlat}"> <mx:grouping> <mx:Grouping> <mx:GroupingField name="Region"/> <mx:GroupingField name="Territory"/> </mx:Grouping> </mx:grouping> </mx:GroupingCollection2> </mx:dataProvider> <mx:columns> <mx:AdvancedDataGridColumn dataField="Region"/> <mx:AdvancedDataGridColumn dataField="Territory"/> <mx:AdvancedDataGridColumn dataField="Territory_Rep"/> <mx:AdvancedDataGridColumn dataField="Actual"/> <mx:AdvancedDataGridColumn dataField="Estimate"/> </mx:columns> </mx:AdvancedDataGrid>MXML 语法隐藏 MXML 语法
<mx.GroupingCollection2>
inherits all the tag attributes of its superclass,
and defines the following tag attributes:
<mx:GroupingCollection2 Properties grouping="No default" source="No default" summaries="No default" />
默认 MXML 属性grouping
相关 API 元素
属性 | 由以下参数定义 | ||
---|---|---|---|
childrenField : String
指示在数据项中检测子对象所用的字段名。 | HierarchicalData | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
grouping : Grouping
指定应用于源数据的 Grouping 实例。 | GroupingCollection2 | ||
source : Object [覆盖]
包含要分组的平面数据的源集合。 | GroupingCollection2 | ||
summaries : Array
定义任意根级别数据摘要的 SummaryRow 实例数组。 | GroupingCollection2 |
属性 | 由以下参数定义 | ||
---|---|---|---|
timer : flash.utils:Timer
与异步刷新操作相关联的计时器。 | GroupingCollection2 |
方法 | 由以下参数定义 | ||
---|---|---|---|
构造函数。 | GroupingCollection2 | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | ||
如果异步执行刷新,请取消刷新操作并停止构建组。 | GroupingCollection2 | ||
如果该节点可以包含子项,则返回 true。 | HierarchicalData | ||
将事件调度到事件流中。 | EventDispatcher | ||
返回表示节点子项的 Object。 | HierarchicalData | ||
返回节点中的数据。 | HierarchicalData | ||
[覆盖]
如果已设置分组属性,则返回 super.source;如果未设置,则返回引用 super.source 的 ICollectionView 实例。 | GroupingCollection2 | ||
如果该节点包含子项,则返回 true。 | HierarchicalData | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | ||
表示对象是否已经定义了指定的属性。 | Object | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
对该集合应用分组。 | GroupingCollection2 | ||
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | ||
设置循环操作动态属性的可用性。 | Object | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | EventDispatcher |
grouping | 属性 |
source | 属性 |
summaries | 属性 |
public var summaries:Array
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 10, AIR 1.5 |
定义任意根级别数据摘要的 SummaryRow 实例数组。指定一个或多个 SummaryRow 实例以定义数据摘要,如以下示例所示:
<mx:AdvancedDataGrid id="myADG" width="100%" height="100%" initialize="gc.refresh();"> <mx:dataProvider> <mx:GroupingCollection2 id="gc" source="{dpFlat}"> <mx:summaries> <mx:SummaryRow summaryPlacement="last"> <mx:fields> <mx:SummaryField2 dataField="Actual" label="Min Actual" summaryOperation="MIN"/> <mx:SummaryField2 dataField="Actual" label="Max Actual" summaryOperation="MAX"/> </mx:fields> </mx:SummaryRow> </mx:summaries> <mx:Grouping> <mx:GroupingField name="Region"/> <mx:GroupingField name="Territory"/> </mx:Grouping> </mx:GroupingCollection2> </mx:dataProvider> <mx:columns> <mx:AdvancedDataGridColumn dataField="Region"/> <mx:AdvancedDataGridColumn dataField="Territory_Rep" headerText="Territory Rep"/> <mx:AdvancedDataGridColumn dataField="Actual"/> <mx:AdvancedDataGridColumn dataField="Estimate"/> <mx:AdvancedDataGridColumn dataField="Min Actual"/> <mx:AdvancedDataGridColumn dataField="Max Actual"/> </mx:columns> </mx:AdvancedDataGrid>
相关 API 元素
timer | 属性 |
protected var timer:flash.utils:Timer
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 10, AIR 1.5 |
与异步刷新操作相关联的计时器。您可以使用它来更改计时间隔、暂停刷新或执行其他操作。Timer 实例的 delay
属性的默认值为 1,对应于 1 毫秒。
GroupingCollection2 | () | 构造函数 |
public function GroupingCollection2()
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 10, AIR 1.5 |
构造函数。
cancelRefresh | () | 方法 |
public function cancelRefresh():void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 10, AIR 1.5 |
如果异步执行刷新,请取消刷新操作并停止构建组。与异步刷新相对应,此方法仅取消由调用带有 asynch
参数 true
的 refresh()
方法启动的刷新。
getParent | () | 方法 |
getRoot | () | 方法 |
refresh | () | 方法 |
public function refresh(async:Boolean = false, dispatchCollectionEvents:Boolean = false):Boolean
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 10, AIR 1.5 |
对该集合应用分组。该集合不会自动检测对组进行的更改,因此设置 grouping
、source
或 summaries
属性后,必须调用 refresh()
方法以更新该集合。修改集合的 GroupingField(如通过更改 caseInsensitive
、compareFunction
或 groupingFunction
属性)时您也调用 refresh()
方法。
可以同步或异步应用 refresh()
方法。
同步调用 refresh()
时,在该方法返回之前,会一起更新所有组和摘要。这意味着您的应用程序在该调用期间无法执行其它处理操作。客户端应等待 kind
属性值设置为 CollectionEventKind.REFRESH
的 CollectionEvent 事件,以确保完成 refresh()
方法。
在异步刷新中,会单独更新所有组和摘要。refresh()
方法在更新组和摘要之前返回,这样您的应用程序可以继续执行。此外,控件是在刷新过程中更新的,这样用户可以继续与其交互。
单独更新组和摘要(而不是一次全部更新)的开销使异步刷新比同步刷新花费的时间更长。但是,对于大型数据集,您的应用程序会在刷新过程中继续操作。
参数
async:Boolean (default = false ) — 如果为 true ,则定义为异步刷新。默认情况下,为 false ,指示同步刷新。
| |
dispatchCollectionEvents:Boolean (default = false ) — 若为 true ,则当形成组时调度事件。为了使性能更佳,可将其设置为 false 。若为 true ,则事件是作为组调度的,且会同步计算摘要以更新控件。注意:如果 async 为 true ,则会始终将 dispatchCollectionEvents 设置为 true 。默认情况下,它为 false ,指示将不会调度任何事件。
|
Boolean — 如果 refresh() 方法已完成,则为 true ;如果刷新尚未完成,则为 false ,这样可以表示这些项目仍未处理。
|
Tue Jun 12 2018, 11:04 AM Z