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

* * @see mx.controls.AdvancedDataGrid * @see mx.collections.GroupingField * @see mx.collections.SummaryRow * * @langversion 3.0 * @playerversion Flash 9 * @playerversion AIR 1.1 * @productversion Flex 3 */ [Deprecated(replacement="SummaryField2", since="4.0")] public class SummaryField { include "../core/Version.as"; //-------------------------------------------------------------------------- // // Constructor // //-------------------------------------------------------------------------- /** * Constructor. * * @param dataField Data field for which the summary is computed. * * @param 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. * * @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.

* * @see mx.collections.SummaryObject * @see mx.collections.SummaryRow#summaryObjectFunction * * @langversion 3.0 * @playerversion Flash 9 * @playerversion AIR 1.1 * @productversion Flex 3 */ public var summaryFunction:Function; } }