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

Package | mx.collections
Class | public class GroupingCollection
Inheritance | GroupingCollection HierarchicalData flash.events.EventDispatcher
Implements | IGroupingCollection

Deprecated Since 4.0: Please Use GroupingCollection2

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

The GroupingCollection class lets you create grouped data from flat data for display in the AdvancedDataGrid control. When you create the instance of the GroupingCollection from your flat data, you specify the field or fields of the data used to create the hierarchy.

To populate the AdvancedDataGrid control with grouped data, you create an instance of the GroupingCollection class from your flat data, and then pass that GroupingCollection 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 `GroupingCollection.grouping` property. The Grouping instance contains an Array of GroupingField instances, one per grouping field.

The following example uses the GroupingCollection class to define two grouping fields: Region and Territory.

      <mx:AdvancedDataGrid id="myADG"
        <mx:dataProvider>
          <mx:GroupingCollection id="gc" source="{dpFlat}">
            <mx:grouping>
              <mx:Grouping>
                <mx:GroupingField name="Region"/>
                <mx:GroupingField name="Territory"/>
              </mx:Grouping>
            </mx:grouping>
          </mx:GroupingCollection>
        </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 Syntax Show MXML Syntax
Hide MXML Syntax
The `<mx.GroupingCollection>` inherits all the tag attributes of its superclass, and defines the following tag attributes:

      <mx:GroupingCollection
      Properties
        grouping="No default"
        source="No default"
        summaries="No default"
      />

This Class has been deprecated and replaced by a new Class `GroupingCollection2` which provide faster, improved performance and a new summary calculation mechanism. Class `SummaryField` has also been deprecated and replaced by a new Class `SummaryField2`. Properties `operation` and `summaryFunction` are not present in the Class `SummaryField2`. A new property `summaryOperation` is introduced in `SummaryField2`.

Default MXML Property `grouping`

See also

mx.controls.AdvancedDataGrid
mx.collections.Grouping
mx.collections.GroupingField

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | childrenField : String Indicates the field name to be used to detect children objects in a data item. | HierarchicalData
|  | grouping : Grouping Specifies the Grouping instance applied to the source data. | GroupingCollection
|  | source : Object [override] The source collection containing the flat data to be grouped. | GroupingCollection
|  | summaries : Array Array of SummaryRow instances that define any root-level data summaries. | GroupingCollection

Protected Properties

| Property | Defined By
--- | --- | ---
|  | timer : Timer The timer which is associated with an asynchronous refresh operation. | GroupingCollection

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | GroupingCollection() Constructor. | GroupingCollection
|  | cancelRefresh():void If the refresh is performed asynchronously, cancels the refresh operation and stops the building of the groups. | GroupingCollection
|  | canHaveChildren(node:Object):Boolean Returns true if the node can contain children. | HierarchicalData
|  | getChildren(node:Object):Object Returns an Object representing the node's children. | HierarchicalData
|  | getData(node:Object):Object Returns data from a node. | HierarchicalData
|  | getRoot():Object [override] Return super.source, if the grouping property is set, and an ICollectionView instance that refers to super.source if not. | GroupingCollection
|  | hasChildren(node:Object):Boolean Returns true if the node has children. | HierarchicalData
|  | refresh(async:Boolean = false):Boolean Applies the grouping to the view. | GroupingCollection

Protected Methods

| Method | Defined By
--- | --- | ---
|  | getParent(node:Object):* Returns the parent of a node. | GroupingCollection

Property Detail

grouping | property

`grouping:Grouping`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

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.

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

See also

mx.collections.GroupingCollection.refresh()

source | property |

`source:Object`[override]

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

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.

Implementation
`public function get source():Object`
`public function set source(value:Object):void`

summaries | property |

`public var summaries:Array`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

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:GroupingCollection id="gc" source="{dpFlat}">
                     <mx:summaries>
                         <mx:SummaryRow summaryPlacement="last">
                             <mx:fields>
                                 <mx:SummaryField dataField="Actual"
                                     label="Min Actual" operation="MIN"/>
                                 <mx:SummaryField dataField="Actual"
                                     label="Max Actual" operation="MAX"/>
                             </mx:fields>
                           </mx:SummaryRow>
                         </mx:summaries>
                     <mx:Grouping>
                         <mx:GroupingField name="Region"/>
                         <mx:GroupingField name="Territory"/>
                     </mx:Grouping>
                 </mx:GroupingCollection>
             </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>

See also

mx.collections.SummaryRow
mx.collections.SummaryField

timer | property |

`protected var timer:Timer`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

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.

Constructor Detail

GroupingCollection | () | Constructor

`public function GroupingCollection()`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

Constructor.

Method Detail

cancelRefresh | () | method

`public function cancelRefresh():void`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

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 argument of `true`, corresponding to an asynchronous refresh.

getParent | () | method |

`protected function getParent(node:Object):*`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

Returns the parent of a node. The parent of a top-level node is `null`.

Parameters

| `node:Object` — The Object that defines the node.

Returns

| `*` — The parent node containing the node as child, `null` for a top-level node, and `undefined` if the parent cannot be determined.

getRoot | () | method |

`override public function getRoot():Object`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

Return `super.source`, if the `grouping` property is set, and an ICollectionView instance that refers to `super.source` if not.

Returns

| `Object` — The object to return.

refresh | () | method |

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

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

Applies the grouping to the view. The IGroupingCollection does not detect changes to a group automatically, so you must call the `refresh()` method to update the view after setting the `group` property.

The `refresh()` method can be applied asynchronously by calling `refresh(true)`.

When `refresh()` is called synchronously, 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.

Parameters

| `async:Boolean` (default = `false`)`` — If `true`, defines the refresh to be asynchronous. By default it is `false` denoting synchronous refresh.

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