//////////////////////////////////////////////////////////////////////////////// // // 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 SummaryField2 class represents a single property in a SummaryRow instance. * Each SummaryRow instance specifies one or more SummayField2 instances * that are used to create a data summary. * *
Note: In the previous release of Flex, you used the SummaryField class * to create summary data. * The SummaryField2 class is new for Flex 4 and provides better performance than SummaryField.
* *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 summaryOperation
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:SummaryField2 dataField="Actual" * label="Min Actual" summaryOperation="MIN"/> * <mx:SummaryField2 dataField="Actual" * label="Max Actual" summaryOperation="MAX"/> * </mx:fields> * </mx:SummaryRow> * </mx:summaries> * </mx:GroupingField> * <mx:GroupingField name="Territory"> * <mx:summaries> * <mx:SummaryRow summaryPlacement="group"> * <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: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> ** * @mxml * * The
<mx.SummaryField2>
inherits all the tag attributes of its superclass,
* and defines the following tag attributes:
*
* * <mx:SummaryField2 * Properties * dataField="No default" * label="No default" * summaryOperation="SUM" * /> ** * @see mx.controls.AdvancedDataGrid * @see mx.collections.GroupingField * @see mx.collections.SummaryRow * * @langversion 3.0 * @playerversion Flash 10 * @playerversion AIR 1.5 * @productversion Flex 4 */ public class SummaryField2 { include "../core/Version.as"; //-------------------------------------------------------------------------- // // Constructor // //-------------------------------------------------------------------------- /** * Constructor. * * @param dataField Data field for which the summary is computed. * * @param summaryOperation 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
.
* Or you can specify an ISummaryCalculator implementation to calculate the summaries.
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
public function SummaryField2(dataField:String = null, summaryOperation:Object = "SUM")
{
super();
this.dataField = dataField;
this.summaryOperation = summaryOperation;
}
//--------------------------------------------------------------------------
//
// Properties
//
//--------------------------------------------------------------------------
//----------------------------------
// dataField
//----------------------------------
/**
* Data field for which the summary is computed.
*
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
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 10 * @playerversion AIR 1.5 * @productversion Flex 4 */ public var label:String; /** * The summary performed on the children. * The value of this property can be one of the following: * *
SUM
, MIN
,
* MAX
, AVG
, or COUNT
.