{ "type": "class",
  "qname": "mx.collections.SummaryRow",
  "baseClassname": ""
  ,
    "description": "The SummaryRow class represents a summary row of the AdvancedDataGrid. You create summary data about your data groups by using the <code>summaries</code> property of the GroupingField or GroupingCollection class. You display the summary data in an existing row of the AdvancedDataGrid control, or display it in a separate row.  <p>The <code>summaries</code> property of the GroupingField or GroupingCollection class takes an instance of the SummaryRow class. You then use the <code>fields</code> property of the SummaryRow class to specify an Array of one or more SummaryField/SummaryField2 instances that define the fields of the data used to create the summary. <code>SummaryField2</code> needs to be used when using <code>GroupingCollection2</code>.</p>  <p>The following example creates summary rows based on two fields of the data provider of the AdvancedDataGrid control:</p>  <pre>\\n &lt;mx:AdvancedDataGrid id=&quot;myADG&quot;\\n initialize=&quot;gc.refresh();&quot;&gt;\\n &lt;mx:dataProvider&gt;\\n &lt;mx:GroupingCollection id=&quot;gc&quot; source=&quot;{dpFlat}&quot;&gt;\\n &lt;mx:Grouping&gt;\\n &lt;mx:GroupingField name=&quot;Region&quot;&gt;\\n &lt;mx:summaries&gt;\\n &lt;mx:SummaryRow summaryPlacement=&quot;group&quot;&gt;\\n &lt;mx:fields&gt;\\n &lt;mx:SummaryField dataField=&quot;Actual&quot;\\n label=&quot;Min Actual&quot; operation=&quot;MIN&quot;/&gt;\\n &lt;mx:SummaryField dataField=&quot;Actual&quot;\\n label=&quot;Max Actual&quot; operation=&quot;MAX&quot;/&gt;\\n &lt;/mx:fields&gt;\\n &lt;/mx:SummaryRow&gt;\\n &lt;/mx:summaries&gt;\\n &lt;/mx:GroupingField&gt;\\n &lt;mx:GroupingField name=&quot;Territory&quot;&gt;\\n &lt;mx:summaries&gt;\\n &lt;mx:SummaryRow summaryPlacement=&quot;group&quot;&gt;\\n &lt;mx:fields&gt;\\n &lt;mx:SummaryField dataField=&quot;Actual&quot;\\n label=&quot;Min Actual&quot; operation=&quot;MIN&quot;/&gt;\\n &lt;mx:SummaryField dataField=&quot;Actual&quot;\\n label=&quot;Max Actual&quot; operation=&quot;MAX&quot;/&gt;\\n &lt;/mx:fields&gt;\\n &lt;/mx:SummaryRow&gt;\\n &lt;/mx:summaries&gt;\\n &lt;/mx:GroupingField&gt;\\n &lt;/mx:Grouping&gt;\\n &lt;/mx:GroupingCollection&gt;\\n &lt;/mx:dataProvider&gt;\\n \\n &lt;mx:columns&gt;\\n &lt;mx:AdvancedDataGridColumn dataField=&quot;Region&quot;/&gt;\\n &lt;mx:AdvancedDataGridColumn dataField=&quot;Territory_Rep&quot;\\n headerText=&quot;Territory Rep&quot;/&gt;\\n &lt;mx:AdvancedDataGridColumn dataField=&quot;Actual&quot;/&gt;\\n &lt;mx:AdvancedDataGridColumn dataField=&quot;Estimate&quot;/&gt;\\n &lt;mx:AdvancedDataGridColumn dataField=&quot;Min Actual&quot;/&gt;\\n &lt;mx:AdvancedDataGridColumn dataField=&quot;Max Actual&quot;/&gt;\\n &lt;/mx:columns&gt;\\n &lt;/mx:AdvancedDataGrid&gt;\\n </pre>   The <code>&lt;mx.SummaryRow&gt;</code> tag defines the following tag attributes:</p>  <pre>\\n &lt;mx:SummaryRow\\n <b>Properties </b>\\n fields=&quot;<i>No default</i>&quot;\\n summaryObjectFunction=&quot;<i>No default</i>&quot;\\n summaryPlacement=&quot;<i>last</i>&quot;\\n /&gt;\\n </pre>",
  "tags": [
  {  "tagName": "see",
         "values": ["mx.controls.AdvancedDataGrid", "mx.collections.GroupingField", "mx.collections.SummaryField", "mx.collections.SummaryField2"]},
      {  "tagName": "mxml",
         "values": []},
      {  "tagName": "playerversion",
         "values": ["Flash 9", "AIR 1.1"]},
      {  "tagName": "productversion",
         "values": ["Flex 3"]},
      {  "tagName": "langversion",
         "values": ["3.0"]},
      {  "tagName": "royalesuppresspublicvarwarning",
         "values": []}  ],
  "members": [
  { "type": "method",
        "qname": "mx.collections.SummaryRow",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": []}
      ,
      { "type": "field",
        "qname": "fields",
        "return": "Array",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Array of SummaryField/SummaryField2 instances that define the characteristics of the data fields used to create the summary.",
        "tags": [
        {  "tagName": "see",
               "values": ["mx.collections.SummaryField", "mx.collections.SummaryField2"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "summaryPlacement",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Specifies where the summary row appears in the AdvancedDataGrid control. Possible values are:  <ul> <li><code>&quot;first&quot;</code> - Create a summary row as the first row in the group.</li> <li><code>&quot;last&quot;</code> - Create a summary row as the last row in the group.</li> <li><code>&quot;group&quot;</code> - Add the summary data to the row corresponding to the group.</li> </ul>  <p>You can specify multiple values, separated by a space. For example, a value of <code>&quot;last group&quot;</code>  shows the same summary row at the group level and in the last row of the children.</p>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "summaryObjectFunction",
        "return": "Function",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Specifies a callback function that defines the summary object, which is an instance of the SummaryObject class. The SummaryObject instance collects summary data for display in the AdvancedDataGrid control. The AdvancedDataGrid control adds the SummaryObject instance to the data provider to display the summary data in the control. Therefore, define within the SummaryObject instance the properties that you want to display.  <p>You use this property with the <code>SummaryField.summaryFunction</code> property, which defines a callback function to perform the summary calculation.</p>  <p>The GroupingCollection class adds a property called <code>children</code> to the Object.</p>  <p>The callback function must have the following signature:</p>  <pre>function mySumObjFunc():SummaryObject {}</pre>",
        "tags": [
        {  "tagName": "see",
               "values": ["mx.collections.SummaryObject", "mx.collections.SummaryField#summaryFunction"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]}]
  }
