//////////////////////////////////////////////////////////////////////////////// // // Licensed to the Apache Software Foundation (ASF) under one or more // contributor license agreements. See the NOTICE file distributed with // this work for additional information regarding copyright ownership. // The ASF licenses this file to You under the Apache License, Version 2.0 // (the "License"); you may not use this file except in compliance with // the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // //////////////////////////////////////////////////////////////////////////////// package mx.collections { /** * The SummaryField class represents a single property in a SummaryRow instance. * Each SummaryRow instance specifies one or more SummayField instances * that are used to create a data summary. * *
Use the dataField
property to specify the data field used to generate the summary,
* the label
property to specify the name of the data field created to hold the summary data,
* and the operation
property to specify how to create the summary for numeric fields.
* You can specify one of the following values:
* SUM
, MIN
, MAX
, AVG
, or COUNT
.
The following example creates summary rows based on two fields of the data provider * of the AdvancedDataGrid control:
* ** <mx:AdvancedDataGrid id="myADG" * initialize="gc.refresh();"> * <mx:dataProvider> * <mx:GroupingCollection id="gc" source="{dpFlat}"> * <mx:Grouping> * <mx:GroupingField name="Region"> * <mx:summaries> * <mx:SummaryRow summaryPlacement="group"> * <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:GroupingField> * <mx:GroupingField name="Territory"> * <mx:summaries> * <mx:SummaryRow summaryPlacement="group"> * <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:GroupingField> * </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> ** *
This Class has 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
.
SUM
, MIN
, MAX
, AVG
, or COUNT
.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
public function SummaryField(dataField:String = null, operation:String = "SUM")
{
super();
this.dataField = dataField;
this.operation = operation;
}
//--------------------------------------------------------------------------
//
// Properties
//
//--------------------------------------------------------------------------
//----------------------------------
// dataField
//----------------------------------
/**
* Data field for which the summary is computed.
*
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
public var dataField:String;
//----------------------------------
// label
//----------------------------------
/**
* The property used inside the summary object,
* an instance of the SummaryObject class, to
* hold summary information.
*
* For example, if you set the label
property to "Summary",
* then the computed summary is placed in a property named "Summary"
* in the summary object. The property of the SummaryObject instance
* containing the summary data will appear as below:
{Summary:1000}* * @see mx.collections.SummaryObject * @see mx.collections.SummaryRow#summaryObjectFunction * @see #summaryFunction * * @langversion 3.0 * @playerversion Flash 9 * @playerversion AIR 1.1 * @productversion Flex 3 */ public var label:String; //---------------------------------- // operation //---------------------------------- /** * The function that should be performed on the children. * * You can specify one of the following values for numeric fields: *
SUM
, MIN
, MAX
, AVG
, or COUNT
.
*
* @default SUM
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
public var operation:String = "SUM";
//----------------------------------
// summaryFunction
//----------------------------------
/**
* Specifies a callback function to compute a custom data summary.
*
* You use this property with the SummaryRow.summaryObjectFunction
property,
* which defines an instance of the SummaryObject class used
* to collect summary data for display in the AdvancedDataGrid control.
The function signature should be as follows:
* ** function mySummaryFunction(iterator:IViewCursor, dataField:String, operation:String):Object* *
The built-in summary functions for SUM
, MIN
,
* MAX
, AVG
, and COUNT
all return a Number containing
* the summary data.