套件 | mx.collections |
類別 | public class GroupingCollection2 |
繼承 | GroupingCollection2 HierarchicalData EventDispatcher Object |
實作 | IGroupingCollection2 |
語言版本: | ActionScript 3.0 |
產品版本: | Flex 4 |
執行階段版本: | Flash Player 10, AIR 1.5 |
Note: In the previous release of Flex, you used the GroupingCollection class with the AdvancedDataGrid control. The GroupingCollection2 class is new for Flex 4 and provides better performance than GroupingCollection.
To populate the AdvancedDataGrid control with grouped data,
you create an instance of the GroupingCollection2 class from your flat data,
and then pass that GroupingCollection2 instance to the data provider
of the AdvancedDataGrid control.
To specify the grouping fields of your flat data,
you pass a Grouping instance to
the GroupingCollection2.grouping
property.
The Grouping instance contains an Array of GroupingField instances,
one per grouping field.
The following example uses the GroupingCollection2 class to define two grouping fields: Region and 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
更多範例
Using synchronous or asynchronous refresh with the AdvancedDataGrid control
Using the default MXML property of the GroupingCollection2 class
Creating summary rows
相關 API 元素
屬性 | 定義自 | ||
---|---|---|---|
childrenField : String
Indicates the field name to be used to detect children objects in
a data item. | HierarchicalData | ||
constructor : Object
類別物件的參照或是特定物件實體的建構函數。 | Object | ||
grouping : Grouping
Specifies the Grouping instance applied to the source data. | GroupingCollection2 | ||
source : Object [覆寫]
The source collection containing the flat data to be grouped. | GroupingCollection2 | ||
summaries : Array
Array of SummaryRow instances that define any root-level data summaries. | GroupingCollection2 |
屬性 | 定義自 | ||
---|---|---|---|
timer : flash.utils:Timer
The timer which is associated with an asynchronous refresh operation. | GroupingCollection2 |
方法 | 定義自 | ||
---|---|---|---|
Constructor. | GroupingCollection2 | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
會在 EventDispatcher 物件註冊事件偵聽程式,以便讓偵聽程式收到事件的通知。 | EventDispatcher | ||
If the refresh is performed asynchronously,
cancels the refresh operation and stops the building of the groups. | GroupingCollection2 | ||
Returns true if the node can contain children. | HierarchicalData | ||
會將事件傳送到事件流程。 | EventDispatcher | ||
Returns an Object representing the node's children. | HierarchicalData | ||
Returns data from a node. | HierarchicalData | ||
[覆寫]
Return super.source, if the grouping property is set,
and an ICollectionView instance that refers to super.source if not. | GroupingCollection2 | ||
Returns true if the node has children. | HierarchicalData | ||
會檢查 EventDispatcher 物件是否有對特定的事件類型註冊偵聽程式。 | EventDispatcher | ||
指出物件是否有已定義的指定屬性。 | Object | ||
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。 | Object | ||
指出指定的屬性是否存在,以及是否可列舉。 | Object | ||
Applies the grouping to the collection. | GroupingCollection2 | ||
會從 EventDispatcher 物件移除偵聽程式。 | EventDispatcher | ||
為迴圈作業設定動態屬性的可用性。 | Object | ||
傳回代表此物件的字串,根據地區特定慣例進行格式化。 | Object | ||
會傳回指定之物件的字串形式。 | Object | ||
會傳回指定之物件的基本值。 | Object | ||
檢查此 EventDispatcher 物件是否已註冊事件偵聽程式,或者此物件的任何祖系已為特定事件類型註冊事件偵聽程式。 | EventDispatcher |
grouping | 屬性 |
grouping:Grouping
語言版本: | ActionScript 3.0 |
產品版本: | Flex 3 |
執行階段版本: | Flash Player 10, AIR 1.5 |
Specifies the Grouping instance applied to the source data.
Setting the grouping
property
does not automatically refresh the view,
so you must call the refresh()
method
after setting this property.
實作
public function get grouping():Grouping
public function set grouping(value:Grouping):void
相關 API 元素
source | 屬性 |
source:Object
[覆寫] 語言版本: | ActionScript 3.0 |
產品版本: | Flex 3 |
執行階段版本: | Flash Player 10, AIR 1.5 |
The source collection containing the flat data to be grouped. If the source is not a collection, it will be auto-wrapped into a collection.
實作
override public function get source():Object
override public function set source(value:Object):void
summaries | 屬性 |
public var summaries:Array
語言版本: | ActionScript 3.0 |
產品版本: | Flex 3 |
執行階段版本: | Flash Player 10, AIR 1.5 |
Array of SummaryRow instances that define any root-level data summaries. Specify one or more SummaryRow instances to define the data summaries, as the following example shows:
<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 |
The timer which is associated with an asynchronous refresh operation.
You can use it to change the timing interval, pause the refresh,
or perform other actions.
The default value for the delay
property of the
Timer instance is 1, corresponding to 1 millisecond.
GroupingCollection2 | () | 建構函式 |
public function GroupingCollection2()
語言版本: | ActionScript 3.0 |
產品版本: | Flex 3 |
執行階段版本: | Flash Player 10, AIR 1.5 |
Constructor.
cancelRefresh | () | 方法 |
public function cancelRefresh():void
語言版本: | ActionScript 3.0 |
產品版本: | Flex 3 |
執行階段版本: | Flash Player 10, AIR 1.5 |
If the refresh is performed asynchronously,
cancels the refresh operation and stops the building of the groups.
This method only cancels the refresh
if it is initiated by a call to the refresh()
method
with an asynch
argument of true
, corresponding to an asynchronous refresh.
getParent | () | 方法 |
protected function getParent(node:Object):*
語言版本: | ActionScript 3.0 |
產品版本: | Flex 3 |
執行階段版本: | Flash Player 10, AIR 1.5 |
Returns the parent of a node.
The parent of a top-level node is null
.
參數
node:Object — The Object that defines the node.
|
* — The parent node containing the node as child,
null for a top-level node,
and undefined if the parent cannot be determined.
|
getRoot | () | 方法 |
refresh | () | 方法 |
public function refresh(async:Boolean = false, dispatchCollectionEvents:Boolean = false):Boolean
語言版本: | ActionScript 3.0 |
產品版本: | Flex 3 |
執行階段版本: | Flash Player 10, AIR 1.5 |
Applies the grouping to the collection.
The collection does not detect changes to a group
automatically, so you must call the refresh()
method to update the collection after setting the grouping
,
source
, or summaries
properties.
You also call the refresh()
method when you modify
a GroupingField of the collection, such as by changing the
caseInsensitive
, compareFunction
,
or groupingFunction
properties.
The refresh()
method can be applied synchronously
or asynchronously.
When refresh()
is called synchronously,
all groups and summaries are updated together before the method returns.
That means your application cannot perform other processing operations
for the duration of the call.
A client should wait for a CollectionEvent event
with the value of the kind
property set
to CollectionEventKind.REFRESH
to ensure that the refresh()
method completed.
In asynchronous refresh, all groups and summaries are updated individually.
The refresh()
method returns before the groups and summaries
are updated so that your application can continue execution.
Also, the control is updated during the refresh so that the
user can continue to interact with it.
The overhead of updating groups and summaries individually, rather than all at once, makes an asynchronous refresh take longer than a synchronous one. However, for large data sets, your application continues to operate during the refresh.
參數
async:Boolean (default = false ) — If true , defines the refresh to be asynchronous.
By default it is false denoting synchronous refresh.
| |
dispatchCollectionEvents:Boolean (default = false ) — If true , events are
dispatched when groups are formed.
For better performance, set it to false .
If true , then events are dispatched as groups and summaries are calculated
synchronously to update the control.
Note: If async is true ,
the dispatchCollectionEvents is always set to true .
By default it is false denoting no events will be dispatched.
|
Boolean — true if the refresh() method completed,
and false if the refresh is incomplete,
which can mean that items are still pending.
|
Tue Jun 12 2018, 03:47 PM Z