Apache Flex 4.16.1 API Reference | All Packages | All Classes | Index | Frames No Frames |
IGroupingCollection2

Package | mx.collections
Interface | public interface IGroupingCollection2 extends IHierarchicalData, flash.events.IEventDispatcher
Implementors | GroupingCollection2

Language Version : | ActionScript 3.0

Product Version : | Flex 4

Runtime Versions : | Flash Player 10, AIR 1.5

The IGroupingCollection2 interface defines the interface required to create grouped data from flat data.

See also

mx.collections.GroupingCollection2
mx.controls.AdvancedDataGrid

Public Properties

| Property | Defined By
--- | --- | ---
|  | grouping : Grouping The Grouping object applied to the source data. | IGroupingCollection2

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | cancelRefresh():void If the refresh is performed asynchronously, cancels the refresh operation and stops the building of the groups. | IGroupingCollection2
|  | canHaveChildren(node:Object):Boolean Returns true if the node can contain children. | IHierarchicalData
|  | getChildren(node:Object):Object Returns an Object representing the node's children. | IHierarchicalData
|  | getData(node:Object):Object Returns data from a node. | IHierarchicalData
|  | getRoot():Object Returns the root data item. | IHierarchicalData
|  | hasChildren(node:Object):Boolean Returns true if the node has children. | IHierarchicalData
|  | refresh(async:Boolean = false, dispatchCollectionEvents:Boolean = false):Boolean Applies the grouping to the collection. | IGroupingCollection2

Property Detail

grouping | property

`grouping:Grouping`

Language Version : | ActionScript 3.0

Product Version : | Flex 4

Runtime Versions : | Flash Player 10, AIR 1.5

The Grouping object applied to the source data. Setting this property does not automatically refresh the view; therefore, you must call the `refresh()` method after setting this property.

Note: The Flex implementations of IGroupingCollection2 retrieve all items from a remote location before executing grouping.

Implementation
`public function get grouping():Grouping`
`public function set grouping(value:Grouping):void`
Method Detail

cancelRefresh | () | method

`public function cancelRefresh():void`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | 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.

refresh | () | method |

`public function refresh(async:Boolean = false, dispatchCollectionEvents:Boolean = false):Boolean`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | 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.

Parameters

| `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.

Returns

| `Boolean` — `true` if the `refresh()` method completed, and `false` if the refresh is incomplete, which can mean that items are still pending.

Wed Nov 15 2017, 09:50 AM +01:00