{ "type": "class",
  "qname": "spark.components.Grid",
  "baseClassname": "spark.components.Group"
  ,
    "description": "The Grid control displays a list of data items called its <i>data provider</i> in a scrollable table or &quot;grid&quot;, one item per row. Each of the grid's columns, defined by a GridColumn object, displays a value based on the item for the corresponding row. The grid's data provider is mutable, meaning its items can be added or removed, or changed. Similarly, the list of columns is mutable.  <p>The Grid component is intended to be used as a DataGrid skin part, or as an element of other custom composite components. Therefore, it is not skinnable, it does not include a scroller or scrollbars, and it does not provide default mouse or keyboard event handling.</p>  <p>Each visible Grid <i>cell</i> is displayed by a GridItemRenderer instance created by using the <code>itemRenderer</code> property. specify an item renderer for each column. Before it is displayed, each item renderer instance is configured with the value of the data provider item for that row. Item renderers are created as needed and then, to keep creation overhead to a minimum, pooled and recycled.</p>  <p>The Grid control supports a doubleClick event, according the <code>doubleClickMode</code> property.</p>  <p>The Grid control supports selection, according the <code>selectionMode</code> property.  The set of selected row or cell indices can be modified or queried programatically using the selection methods, such as <code>setSelectedIndex</code> or <code>selectionContainsIndex()</code>.</p>  <p>The Grid control displays hover, caret, and selection indicators based on the <code>selectionMode</code> property and the corresponding row index and column index properties, such as <code>hoverRowIndex</code> and <code>columnRowIndex</code>. An indicator can be any visual element. Indicators that implement IGridVisualElement can configure themselves according to the row and column in which they are used.</p>  <p>The Grid control supports smooth scrolling. Their vertical and horizontal scroll positions define the pixel origin of the visible part of the grid and the grid's layout only displays as many cell item renderers as are needed to fill the available space.</p>  <p>The Grid control supports variable height rows that automatically compute their height based on the item renderers' contents. This support is called grid <i>virtualization</i> because the mapping from (pixel) scroll positions to row and column indices is typically based on incomplete information about the preferred sizes for grid cells. The Grid caches the computed heights of rows that have been scrolled into view and estimates the rest based on a single <code>typicalItem</code>.</p>  <p>Transitions in DataGrid item renderers aren't supported. The GridItemRenderer class has disabled its <code>transitions</code> property so setting it will have no effect.</p>  attributes of its superclass and adds the following tag attributes:</p>  <pre>\\n &lt;s:Grid\\n <strong>Properties</strong>\\n /&gt;\\n </pre>",
  "tags": [
  {  "tagName": "see",
         "values": ["DataGrid", "spark.components.gridClasses.GridColumn"]},
      {  "tagName": "mxml",
         "values": ["<p>The <code>&lt;s:Grid&gt;</code> tag inherits all of the tag"]},
      {  "tagName": "playerversion",
         "values": ["Flash 10", "AIR 2.5"]},
      {  "tagName": "productversion",
         "values": ["Flex 4.5"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "spark.components.Grid",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "anchorColumnIndex",
        "namespace": "public",
        "bindable": ["anchorColumnIndexChanged"],
        "details": [],
        "deprecated": {},
          "description": "The column index of the <i>anchor</i> for the next shift selection. The anchor is the item most recently selected. It defines the anchor item when selecting multiple items in the grid. When you select multiple items, the set of items extends from the anchor to the caret item.  <p>Grid event handlers should use this property to record the location of the most recent unshifted mouse down or keyboard event that defines one end of the next potential shift selection. The caret index defines the other end.</p>",
        "tags": [
        {  "tagName": "default",
               "values": ["0"]},
            {  "tagName": "see",
               "values": ["spark.components.Grid#caretRowIndex", "spark.components.Grid#caretColumnIndex"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "anchorRowIndex",
        "namespace": "public",
        "bindable": ["anchorRowIndexChanged"],
        "details": [],
        "deprecated": {},
          "description": "The row index of the <i>anchor</i> for the next shift selection. The anchor is the item most recently selected. It defines the anchor item when selecting multiple items in the grid. When you select multiple items, the set of items extends from the anchor to the caret item.  <p>Grid event handlers should use this property to record the location of the most recent unshifted mouse down or keyboard event that defines one end of the next potential shift selection. The caret index defines the other end.</p>",
        "tags": [
        {  "tagName": "default",
               "values": ["0"]},
            {  "tagName": "see",
               "values": ["spark.components.Grid#caretRowIndex", "spark.components.Grid#caretColumnIndex"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "mx.core.IFactory",
        "qname": "caretIndicator",
        "namespace": "public",
        "bindable": ["caretIndicatorChanged"],
        "details": [],
        "deprecated": {},
          "description": "If <code>selectionMode</code> is <code>GridSelectionMode.SINGLE_ROW</code> or <code>GridSelectionMode.MULTIPLE_ROWS</code>, a single visual element displayed for the caret row, If <code>selectionMode</code> is <code>GridSelectionMode.SINGLE_CELL</code> or <code>GridSelectionMode.MULTIPLE_CELLS</code>, the visual element displayed for the caret cell.",
        "tags": [
        {  "tagName": "default",
               "values": ["null"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "caretColumnIndex",
        "namespace": "public",
        "bindable": ["caretColumnIndexChanged"],
        "details": [],
        "deprecated": {},
          "description": "If <code>showCaretIndicator</code> is <code>true</code>, the column index of the <code>caretIndicator</code>.  <p>If <code>selectionMode</code> is <code>GridSelectionMode.SINGLE_ROW</code> or <code>GridSelectionMode.MULTIPLE_ROWS</code> then the indicator occupies the entire row and <code>caretColumnIndex</code> is ignored. If <code>selectionMode</code> is <code>GridSelectionMode.SINGLE_CELL</code> or <code>GridSelectionMode.MULTIPLE_CELLS</code>, then the <code>caretIndicator</code> occupies the specified cell.</p>  <p>Setting <code>caretColumnIndex</code> to -1 means that the column index is undefined and a cell caret is not shown.</p>",
        "tags": [
        {  "tagName": "default",
               "values": ["-1"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "caretRowIndex",
        "namespace": "public",
        "bindable": ["caretRowIndexChanged"],
        "details": [],
        "deprecated": {},
          "description": "If <code>showCaretIndicator</code> is <code>true</code>, the row index of the <code>caretIndicator</code>. If <code>selectionMode</code> is <code>GridSelectionMode.SINGLE_ROW</code> or <code>GridSelectionMode.MULTIPLE_ROWS</code> then the indicator occupies the entire row and the <code>caretColumnIndex</code> property is ignored. If <code>selectionMode</code> is <code>GridSelectionMode.SINGLE_CELL</code> or <code>GridSelectionMode.MULTIPLE_CELLS</code>, then the <code>caretIndicator</code> occupies the specified cell.  <p>Setting <code>caretRowIndex</code> to -1 means that the row index is undefined and the caret will not be shown.</p>",
        "tags": [
        {  "tagName": "default",
               "values": ["-1"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "clipAndEnableScrolling",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "private",
               "values": []}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "Number",
        "qname": "contentHeight",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "private",
               "values": []}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "Number",
        "qname": "contentWidth",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "private",
               "values": []}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Number",
        "qname": "horizontalScrollPosition",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "copy",
               "values": ["spark.core.IViewport#horizontalScrollPosition"]},
            {  "tagName": "productversion",
               "values": ["Flex 4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "Boolean",
        "qname": "isFirstRow",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns if the selectedIndex is equal to the first row.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 11.1", "AIR 3.4"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.10"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "Boolean",
        "qname": "isLastRow",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns if the selectedIndex is equal to the last row.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 11.1", "AIR 3.4"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.10"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Number",
        "qname": "verticalScrollPosition",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "copy",
               "values": ["spark.core.IViewport#verticalScrollPosition"]},
            {  "tagName": "productversion",
               "values": ["Flex 4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "mx.core.IFactory",
        "qname": "hoverIndicator",
        "namespace": "public",
        "bindable": ["hoverIndicatorChanged"],
        "details": [],
        "deprecated": {},
          "description": "If <code>selectionMode</code> is <code>GridSelectionMode.SINGLE_ROW</code> or <code>GridSelectionMode.MULTIPLE_ROWS</code>. a single visual element displayed for the row under the mouse. If <code>selectionMode</code> is <code>GridSelectionMode.SINGLE_CELL</code> or <code>GridSelectionMode.MULTIPLE_CELLS</code>, the visual element for the cell.",
        "tags": [
        {  "tagName": "default",
               "values": ["null"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "hoverColumnIndex",
        "namespace": "public",
        "bindable": ["hoverColumnIndexChanged"],
        "details": [],
        "deprecated": {},
          "description": "If <code>showHoverIndicator</code> is <code>true</code>, Specifies column index of the <code>hoverIndicator</code>. If <code>selectionMode</code> is <code>GridSelectionMode.SINGLE_ROW</code> or <code>GridSelectionMode.MULTIPLE_ROWS</code>, then the indicator occupies the entire row and <code>hoverColumnIndex</code> is ignored. If <code>selectionMode</code> is <code>GridSelectionMode.SINGLE_CELL</code> or <code>GridSelectionMode.MULTIPLE_CELLS</code> then the <code>hoverIndicator</code> occupies the specified cell.  <p>Setting <code>hoverColumnIndex</code> to -1 (the default) means that the column index is undefined and a cell hover indicator is not displayed.</p>",
        "tags": [
        {  "tagName": "default",
               "values": ["-1"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "hoverRowIndex",
        "namespace": "public",
        "bindable": ["hoverRowIndexChanged"],
        "details": [],
        "deprecated": {},
          "description": "If <code>showHoverIndicator</code> is <code>true</code>, specifies the column index of the <code>hoverIndicator</code>. If <code>selectionMode</code> is <code>GridSelectionMode.SINGLE_ROW</code> or <code>GridSelectionMode.MULTIPLE_ROWS</code>, then the indicator occupies the entire row and <code>hoverColumnIndex</code> is ignored. If <code>selectionMode</code> is <code>GridSelectionMode.SINGLE_CELL</code> or <code>GridSelectionMode.MULTIPLE_CELLS</code> then the <code>hoverIndicator</code> occupies the specified cell.  <p>Setting <code>hoverRowIndex</code> to -1,the default, means that the row index is undefined and a hover indicator is not displayed.</p>",
        "tags": [
        {  "tagName": "default",
               "values": ["-1"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "mx.collections.IList",
        "qname": "columns",
        "namespace": "public",
        "bindable": ["columnsChanged"],
        "details": [],
        "deprecated": {},
          "description": "The list of GridColumn objectss displayed by this grid. Each column selects different data provider item properties to display.  <p>GridColumn objects can only appear in the <code>columns</code> for a single Grid control.</p>",
        "tags": [
        {  "tagName": "default",
               "values": ["null"]},
            {  "tagName": "see",
               "values": ["spark.components.Grid#dataProvider"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "mx.collections.IList",
        "qname": "dataProvider",
        "namespace": "public",
        "bindable": ["dataProviderChanged"],
        "details": [],
        "deprecated": {},
          "description": "A list of data items that correspond to the rows in the grid. Each grid column is associated with a property of the data items to display that property in the grid <i>cells</i>.",
        "tags": [
        {  "tagName": "default",
               "values": ["null"]},
            {  "tagName": "see",
               "values": ["spark.components.Grid#columns"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "dataTipField",
        "namespace": "public",
        "bindable": ["dataTipFieldChanged"],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "default",
               "values": ["null"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "copy",
               "values": ["spark.components.gridClasses.GridColumn#dataTipField"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Function",
        "qname": "dataTipFunction",
        "namespace": "public",
        "bindable": ["dataTipFunctionChanged"],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "default",
               "values": ["null"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "copy",
               "values": ["spark.components.gridClasses.GridColumn#dataTipFunction"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "doubleClickMode",
        "namespace": "public",
        "bindable": ["doubleClickModeChanged"],
        "details": [],
        "deprecated": {},
          "description": "The doubleClick mode of the control.  Possible values are: <code>GridDoubleClickMode.CELL</code>, <code>GridDoubleClickMode.GRID</code>, <code>GridDoubleClickMode.ROW</code>,  <p>Changing the doubleClickMode changes the double click criteria for firing the doubleClick event</p>",
        "tags": [
        {  "tagName": "default",
               "values": ["GridDoubleClickMode.ROW"]},
            {  "tagName": "see",
               "values": ["spark.components.gridClasses.GridDoubleClickMode"]},
            {  "tagName": "playerversion",
               "values": ["Flash 11.1", "AIR 3.4"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.10"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "spark.components.gridClasses.GridDimensions",
        "qname": "gridDimensions",
        "namespace": "mx_internal",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "accessor",
        "access": "read-write",
        "return": "mx.core.IFactory",
        "qname": "itemRenderer",
        "namespace": "public",
        "bindable": ["itemRendererChanged"],
        "details": [],
        "deprecated": {},
          "description": "The item renderer that's used for columns that do not specify one.",
        "tags": [
        {  "tagName": "default",
               "values": ["null"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "mx.core.IFactory",
        "qname": "columnSeparator",
        "namespace": "public",
        "bindable": ["columnSeparatorChanged"],
        "details": [],
        "deprecated": {},
          "description": "A visual element displayed between each column.",
        "tags": [
        {  "tagName": "default",
               "values": ["null"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "spark.components.gridClasses.GridSelection",
        "qname": "gridSelection",
        "namespace": "mx_internal",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "If this Grid is serving as a DataGrid skin part, then this property is created by DataGrid/partAdded() and then set here.   It is only set once, unless that &quot;grid&quot; part is removed, at which point it's set to null.",
        "tags": [
        {  "tagName": "private",
               "values": []}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "spark.components.DataGrid",
        "qname": "dataGrid",
        "namespace": "public",
        "bindable": ["dataGridChanged"],
        "details": [],
        "deprecated": {},
          "description": "The DataGrid control for which this Grid is used as the grid skin part.",
        "tags": [
        {  "tagName": "default",
               "values": ["null"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "lockedColumnCount",
        "namespace": "public",
        "bindable": ["lockedColumnCountChanged"],
        "details": [],
        "deprecated": {},
          "description": "The first lockedColumnCount columns are &quot;locked&quot;, i.e. they do not scroll horizontally. If lockedColumnCount is zero (the default) then changes to the horizontalScrollPosition affect all columns.  <p>The locked columns are displayed in the topGridView and, if lockedRowCount is also greater than zero, the topLeftGridView.  The locked columns are separated from the remaining columns by a lockedColumnSeparator.</p>",
        "tags": [
        {  "tagName": "default",
               "values": ["0"]},
            {  "tagName": "see",
               "values": ["spark.components.gridClasses.GridColumn#topGridView", "spark.components.gridClasses.GridColumn#topLeftGridView", "spark.components.gridClasses.GridColumn#lockedColumnSeparator"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 5.0"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "mx.core.IFactory",
        "qname": "lockedColumnsSeparator",
        "namespace": "public",
        "bindable": ["lockedColumnsSeparatorChanged"],
        "details": [],
        "deprecated": {},
          "description": "A visual element displayed between the locked and unlocked columns.  The factory value of this property is used to create the lockedColumnsSeparatorElement.",
        "tags": [
        {  "tagName": "see",
               "values": ["spark.components.Grid#lockedRowsSeparatorElement"]},
            {  "tagName": "default",
               "values": ["null"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 5.0"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "lockedRowCount",
        "namespace": "public",
        "bindable": ["lockedRowCountChanged"],
        "details": [],
        "deprecated": {},
          "description": "The first lockedRowCount rows are &quot;locked&quot;, i.e. they do not scroll vertically. If lockedRowCount is zero (the default) then changes to the verticalScrollPosition affect all rows.  <p>The locked rows are displayed in the leftGridView and, if lockedColumnCount is also greater than zero, the topLeftGridView.  The locked rows are separated from the remaining rows by a lockedRowSeparator.</p>",
        "tags": [
        {  "tagName": "default",
               "values": ["0"]},
            {  "tagName": "see",
               "values": ["spark.components.gridClasses.GridColumn#leftGridView", "spark.components.gridClasses.GridColumn#topLeftGridView", "spark.components.gridClasses.GridColumn#lockedRowSeparator"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 5.0"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "mx.core.IFactory",
        "qname": "lockedRowsSeparator",
        "namespace": "public",
        "bindable": ["lockedRowsSeparatorChanged"],
        "details": [],
        "deprecated": {},
          "description": "A visual element displayed between the locked and unlocked rows.   The factory value of this property is used to create the lockedRowsSeparatorElement.",
        "tags": [
        {  "tagName": "default",
               "values": ["null"]},
            {  "tagName": "see",
               "values": ["spark.components.Grid#lockedRowsSeparatorElement"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 5.0"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "preserveSelection",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "If <code>true</code>, the selection is preserved when the data provider refreshes its collection. Because this refresh requires each item in the selection to be saved, this action is not desirable if the selection is large.",
        "tags": [
        {  "tagName": "default",
               "values": ["true"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "requestedMaxRowCount",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The measured height of the grid is large enough to display no more than <code>requestedMaxRowCount</code> rows.  <p>This property has no effect if any of the following are true; <ul> <li><code>requestedRowCount</code> is set.</li> <li>The actual size of the grid has been explicitly set.</li> </ul> </p>",
        "tags": [
        {  "tagName": "default",
               "values": ["10"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "requestedMinRowCount",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The measured height of this grid is large enough to display at least <code>requestedMinRowCount</code> rows.  <p>This property has no effect if any of the following are true; <ul> <li><code>requestedRowCount</code> is set.</li> <li>The actual size of the grid has been explicitly set.</li> </ul> </p>",
        "tags": [
        {  "tagName": "default",
               "values": ["-1"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "requestedRowCount",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The measured height of this grid is large enough to display the first <code>requestedRowCount</code> rows.  <p>If <code>requestedRowCount</code> is -1, then the measured size will be big enough for all of the layout elements.</p>  <p>If the actual size of the grid has been explicitly set, then this property has no effect.</p>",
        "tags": [
        {  "tagName": "default",
               "values": ["-1"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "requestedMinColumnCount",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The measured width of this grid is large enough to display at least <code>requestedMinColumnCount</code> columns.  <p>This property has no effect if any of the following are true; <ul> <li><code>requestedColumnCount</code> is set.</li> <li>The actual size of the grid has been explicitly set.</li> <li>The grid is inside a Scroller component.</li> </ul> </p>",
        "tags": [
        {  "tagName": "default",
               "values": ["-1"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "requestedColumnCount",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The measured width of this grid is large enough to display the first <code>requestedColumnCount</code> columns. If <code>requestedColumnCount</code> is -1, then the measured width is big enough for all of the columns.  <p>If the actual size of the grid has been explicitly set, then this property has no effect.</p>",
        "tags": [
        {  "tagName": "default",
               "values": ["-1"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "requireSelection",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "If <code>true</code> and the <code>selectionMode</code> property is not <code>GridSelectionMode.NONE</code>, an item must always be selected in the grid.",
        "tags": [
        {  "tagName": "default",
               "values": ["false"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "resizableColumns",
        "namespace": "public",
        "bindable": ["resizableColumnsChanged"],
        "details": [],
        "deprecated": {},
          "description": "Indicates whether the user can change the size of the columns. If <code>true</code>, the user can stretch or shrink the columns of the DataGrid control by dragging the grid lines between the header cells. If <code>true</code>, individual columns must also have their <code>resizable</code> properties set to <code>false</code> to prevent the user from resizing a particular column.",
        "tags": [
        {  "tagName": "default",
               "values": ["true"]},
            {  "tagName": "see",
               "values": ["spark.components.gridClasses.GridColumn"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "mx.core.IFactory",
        "qname": "rowBackground",
        "namespace": "public",
        "bindable": ["rowBackgroundChanged"],
        "details": [],
        "deprecated": {},
          "description": "A visual element that's displays the background for each row.",
        "tags": [
        {  "tagName": "default",
               "values": ["null"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Number",
        "qname": "rowHeight",
        "namespace": "public",
        "bindable": ["rowHeightChanged"],
        "details": [],
        "deprecated": {},
          "description": "If <code>variableRowHeight</code> is <code>false</code>, then this property specifies the actual height of each row, in pixels.  <p>If <code>variableRowHeight</code> is <code>true</code>, the value of this property is used as the estimated height for rows that haven't been scrolled into view yet, rather than the preferred height of renderers configured with the <code>typicalItem</code>. Similarly, when the Grid pads its display with empty rows, this property specifies the empty rows' height.</p>  <p>If <code>variableRowHeight</code> is <code>false</code>, the default value of this property is the maximum preferred height of the per-column renderers created for the <code>typicalItem</code>.</p>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "mx.core.IFactory",
        "qname": "rowSeparator",
        "namespace": "public",
        "bindable": ["rowSeparatorChanged"],
        "details": [],
        "deprecated": {},
          "description": "A visual element that's displayed in between each row.",
        "tags": [
        {  "tagName": "default",
               "values": ["null"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "spark.components.gridClasses.CellPosition",
        "qname": "selectedCell",
        "namespace": "public",
        "bindable": ["selectionChange","valueCommit"],
        "details": [],
        "deprecated": {},
          "description": "If <code>selectionMode</code> is <code>GridSelectionMode.SINGLE_CELL</code> or <code>GridSelectionMode.MULTIPLE_CELLS</code>, returns the first selected cell starting at row 0 column 0 and progressing through each column in a row before moving to the next row.  <p>When the user changes the selection by interacting with the control, the control dispatches the <code>selectionChange</code> event. When the user changes the selection programmatically, the control dispatches the <code>valueCommit</code> event.</p>  <p> This property is intended to be used to initialize or bind to the selection in MXML markup.  The <code>setSelectedCell()</code> method should be used for programatic selection updates, for example when writing a keyboard or mouse event handler. </p>   no cell selection.",
        "tags": [
        {  "tagName": "default",
               "values": ["null"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "return",
               "values": ["CellPosition of the first selected cell or null if there is"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Vector.<spark.components.gridClasses.CellPosition>",
        "qname": "selectedCells",
        "namespace": "public",
        "bindable": ["selectionChange","valueCommit"],
        "details": [],
        "deprecated": {},
          "description": "If <code>selectionMode</code> is <code>GridSelectionMode.SINGLE_CELL</code> or <code>GridSelectionMode.MULTIPLE_CELLS</code>, returns a Vector of CellPosition objects representing the positions of the selected cells in the grid.  <p>When the user changes the selection by interacting with the control, the control dispatches the <code>selectionChange</code> event. When the user changes the selection programmatically, the control dispatches the <code>valueCommit</code> event.</p>  <p> This property is intended to be used to initialize or bind to the selection in MXML markup.  The <code>setSelectedCell()</code> method should be used for programatic selection updates, for example when writing a keyboard or mouse event handler. </p>  <p>The default value is an empty <code>Vector.&lt;CellPosition&gt;</code></p>  a selected cell.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "return",
               "values": ["Vector of CellPosition objects where each element represents"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "selectedIndex",
        "namespace": "public",
        "bindable": ["selectionChange","valueCommit"],
        "details": [],
        "deprecated": {},
          "description": "If <code>selectionMode</code> is <code>GridSelectionMode.SINGLE_ROW</code> or <code>GridSelectionMode.MULTIPLE_ROWS</code>, returns the rowIndex of the first selected row.  <p>When the user changes the selection by interacting with the control, the control dispatches the <code>selectionChange</code> event. When the user changes the selection programmatically, the control dispatches the <code>valueCommit</code> event.</p>  <p> This property is intended to be used to initialize or bind to the selection in MXML markup.  The <code>setSelectedCell()</code> method should be used for programatic selection updates, for example when writing a keyboard or mouse event handler. </p>   selected rows.",
        "tags": [
        {  "tagName": "default",
               "values": ["-1"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "return",
               "values": ["rowIndex of first selected row or -1 if there are no"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Vector.<int>",
        "qname": "selectedIndices",
        "namespace": "public",
        "bindable": ["selectionChange","valueCommit"],
        "details": [],
        "deprecated": {},
          "description": "If <code>selectionMode</code> is <code>GridSelectionMode.SINGLE_ROW</code> or <code>GridSelectionMode.MULTIPLE_ROWS</code>, returns a Vector of the selected rows indices.  For all other selection modes, this method has no effect.  <p>When the user changes the selection by interacting with the control, the control dispatches the <code>selectionChange</code> event. When the user changes the selection programmatically, the control dispatches the <code>valueCommit</code> event.</p>  <p> This property is intended to be used to initialize or bind to the selection in MXML markup.  The setSelectedCell() method should be used for programatic selection updates, for example when writing a keyboard or mouse event handler. </p> >  <p>The default value is an empty <code>Vector.&lt;int&gt;</code></p>  data provider of the selected row.",
        "tags": [
        {  "tagName": "see",
               "values": ["spark.components.Grid#dataProvider"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "return",
               "values": ["Vector of ints where each element is the index in"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Object",
        "qname": "selectedItem",
        "namespace": "public",
        "bindable": ["selectionChange","valueCommit"],
        "details": [],
        "deprecated": {},
          "description": "If <code>selectionMode</code> is <code>GridSelectionMode.SINGLE_ROW</code> or <code>GridSelectionMode.MULTIPLE_ROWS</code>, returns the item in the the data provider that is currently selected or <code>undefined</code> if no rows are selected.  <p>When the user changes the selection by interacting with the control, the control dispatches the <code>selectionChange</code> event. When the user changes the selection programmatically, the control dispatches the <code>valueCommit</code> event.</p>  <p> This property is intended to be used to initialize or bind to the selection in MXML markup.  The <code>setSelectedCell()</code> method should be used for programatic selection updates, for example when writing a keyboard or mouse event handler. </p>",
        "tags": [
        {  "tagName": "default",
               "values": ["null"]},
            {  "tagName": "see",
               "values": ["spark.components.Grid#dataProvider"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "return",
               "values": ["Vector of data provider items."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Vector.<Object>",
        "qname": "selectedItems",
        "namespace": "public",
        "bindable": ["selectionChange","valueCommit"],
        "details": [],
        "deprecated": {},
          "description": "If <code>selectionMode</code> is <code>GridSelectionMode.SINGLE_ROW</code> or <code>GridSelectionMode.MULTIPLE_ROWS</code>, returns a Vector of the dataProvider items that are currently selected.  <p>When the user changes the selection by interacting with the control, the control dispatches the <code>selectionChange</code> event. When the user changes the selection programmatically, the control dispatches the <code>valueCommit</code> event.</p>  <p> This property is intended to be used to initialize or bind to the selection in MXML markup.  The setSelectedCell() method should be used for programatic selection updates, for example when writing a keyboard or mouse event handler. </p>  <p>The default value is an empty <code>Vector.&lt;Object&gt;</code></p>",
        "tags": [
        {  "tagName": "see",
               "values": ["spark.components.Grid#dataProvider"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "return",
               "values": ["Vector of data provider items."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "mx.core.IFactory",
        "qname": "selectionIndicator",
        "namespace": "public",
        "bindable": ["selectionIndicatorChanged"],
        "details": [],
        "deprecated": {},
          "description": "If <code>selectionMode</code> is <code>GridSelectionMode.SINGLE_ROW</code> or <code>GridSelectionMode.MULTIPLE_ROWS</code>, a visual element that's displayed for each selected row, If <code>selectionMode</code> is <code>GridSelectionMode.SINGLE_CELL</code> or <code>GridSelectionMode.MULTIPLE_CELLS</code>, a visual element displayed for each selected cell.",
        "tags": [
        {  "tagName": "default",
               "values": ["null"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "int",
        "qname": "selectionLength",
        "namespace": "public",
        "bindable": ["selectionChange","valueCommit"],
        "details": [],
        "deprecated": {},
          "description": "If <code>selectionMode</code> is <code>GridSelectionMode.SINGLE_ROW</code> or <code>GridSelectionMode.MULTIPLE_ROWS</code>, returns the number of selected rows. If <code>selectionMode</code> is <code>GridSelectionMode.SINGLE_CELLS</code> or <code>GridSelectionMode.MULTIPLE_CELLS</code>, returns the number of selected cells.",
        "tags": [
        {  "tagName": "default",
               "values": ["0"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "selectionMode",
        "namespace": "public",
        "bindable": ["selectionModeChanged"],
        "details": [],
        "deprecated": {},
          "description": "The selection mode of the control.  Possible values are: <code>GridSelectionMode.MULTIPLE_CELLS</code>, <code>GridSelectionMode.MULTIPLE_ROWS</code>, <code>GridSelectionMode.NONE</code>, <code>GridSelectionMode.SINGLE_CELL</code>, and <code>GridSelectionMode.SINGLE_ROW</code>.  <p>Changing the selectionMode causes the current selection to be cleared and the caretRowIndex and caretColumnIndex to be set to -1.</p>",
        "tags": [
        {  "tagName": "default",
               "values": ["GridSelectionMode.SINGLE_ROW"]},
            {  "tagName": "see",
               "values": ["spark.components.gridClasses.GridSelectionMode"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "showCaret",
        "namespace": "public",
        "bindable": ["showCaretChanged"],
        "details": [],
        "deprecated": {},
          "description": "Determines if the caret is visible. TBD: when is this property automatically set?"},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "showDataTips",
        "namespace": "public",
        "bindable": ["showDataTipsChanged"],
        "details": [],
        "deprecated": {},
          "description": "If <code>true</code> then a dataTip is displayed for all visible cells. If <code>false</code>, the default, then a dataTip is only displayed if the column's <code>showDataTips</code> property is <code>true</code>.",
        "tags": [
        {  "tagName": "default",
               "values": ["false"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Object",
        "qname": "typicalItem",
        "namespace": "public",
        "bindable": ["typicalItemChanged"],
        "details": [],
        "deprecated": {},
          "description": "The grid's layout ensures that columns whose width is not specified are wide enough to display an item renderer for this default data provider item. If a typical item is not specified, then the first data provider item is used.  <p>Restriction: if the <code>typicalItem</code> is an IVisualItem, it must not also be a member of the data provider.</p>",
        "tags": [
        {  "tagName": "default",
               "values": ["null"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "invalidateTypicalItemRenderer",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Clears cached column width data that had been based on the <code>typicalItem</code> property, and requests a new layout pass. Call this method if some aspect of the <code>typicalItem</code> has changed that should be reflected by the Grid's layout.  <p>This method is called automatically if the <code>typicalItem</code> is changed directly. That means if the property is set to a new value that is not &quot;==&quot; to current value.</p>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "variableRowHeight",
        "namespace": "public",
        "bindable": ["variableRowHeightChanged"],
        "details": [],
        "deprecated": {},
          "description": "If <code>true</code>, each row's height is the maximum of preferred heights of the cells displayed so far.  <p>If <code>false</code>, the height of each row is just the value of the <code>rowHeight</code> property. If <code>rowHeight</code> isn't specified, then the height of each row is defined by the <code>typicalItem</code> property.</p>",
        "tags": [
        {  "tagName": "default",
               "values": ["false"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "mx.core.IFactory",
        "qname": "gridView",
        "namespace": "public",
        "bindable": ["gridViewChanged"],
        "details": [],
        "deprecated": {},
          "description": "Used to initialize this grid's gridViews: centerGridView, leftGridView, topGridView, topLeftGridView. GridViews are created as needed, depending on the values of lockedRowCount and lockedColumnCount.",
        "tags": [
        {  "tagName": "default",
               "values": ["null."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 5.0"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "selectAll",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "If <code>selectionMode</code> is <code>GridSelectionMode.MULTIPLE_ROWS</code>, selects all rows and removes the caret or if <code>selectionMode</code> is <code>GridSelectionMode.MULTIPLE_CELLS</code> selects all cells and removes the caret.  For all other selection modes, this method has no effect.  <p>If items are added to the <code>dataProvider</code> or <code>columns</code> are added after this method is called, the new rows or cells in the new column will be selected.</p>  <p>This implicit &quot;selectAll&quot; mode ends when any of the following occur: <ul> <li>selection is cleared using <code>clearSelection</code></li> <li>selection reset using one of <code>setSelectedCell</code>, <code>setSelectedCells</code>, <code>setSelectedIndex</code>, <code>selectIndices</code></li> <li><code>dataProvider</code> is refreshed and <code>preserveSelection</code> is false</li> <li><code>dataProvider</code> is reset</li> <li><code>columns</code> is refreshed, <code>preserveSelection</code> is <code>false</code> and <code>selectionMode</code> is <code>GridSelectionMode.MULTIPLE_CELLS</code></li> <li><code>columns</code> is reset and <code>selectionMode</code> is <code>GridSelectionMode.MULTIPLE_CELLS</code></li> </ul></p>",
        "tags": [
        {  "tagName": "see",
               "values": ["spark.components.Grid#clearSelection", "spark.components.Grid#selectIndices", "spark.components.Grid#setSelectedCell", "spark.components.Grid#setSelectedCells", "spark.components.Grid#setSelectedIndex"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "return",
               "values": ["<code>true</code> if the selection changed."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Boolean",
          "params": []}
      ,
      { "type": "method",
        "qname": "clearSelection",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Removes all of the selected rows and cells, if <code>selectionMode</code> is not <code>GridSelectionMode.NONE</code>.  Removes the caret and sets the anchor to the initial item.  <code>false</code> if there was nothing previously selected.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "return",
               "values": ["<code>true</code> if the selection changed."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Boolean",
          "params": []}
      ,
      { "type": "method",
        "qname": "selectionContainsIndex",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "If <code>selectionMode</code> is <code>GridSelectionMode.SINGLE_ROW</code> or <code>GridSelectionMode.MULTIPLE_ROWS</code>, returns <code>true</code> if the row at <code>index</code> is in the current selection.  <p>The <code>rowIndex</code> is the index in the data provider of the item containing the selected cell.</p>",
        "tags": [
        {  "tagName": "see",
               "values": ["spark.components.Grid#dataProvider"]},
            {  "tagName": "param",
               "values": ["rowIndex The 0-based row index of the row."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "return",
               "values": ["<code>true</code> if the selection contains the row."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Boolean",
          "params": [{ "name": "rowIndex", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "selectionContainsIndices",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "If <code>selectionMode</code> is <code>GridSelectionMode.MULTIPLE_ROWS</code>, returns <code>true</code> if the rows in <code>indices</code> are in the current selection.",
        "tags": [
        {  "tagName": "see",
               "values": ["spark.components.Grid#dataProvider"]},
            {  "tagName": "param",
               "values": ["rowIndices Vector of 0-based row indices to include in selection."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "return",
               "values": ["<code>true</code> if the current selection contains these rows."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Boolean",
          "params": [{ "name": "rowIndices", "type": "Vector.<int>"}]}
      ,
      { "type": "method",
        "qname": "setSelectedIndex",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "If <code>selectionMode</code> is <code>GridSelectionMode.SINGLE_ROW</code> or <code>GridSelectionMode.MULTIPLE_ROWS</code>, sets the selection and the caret position to this row. For all other selection modes, this method has no effect.  <p>The <code>rowIndex</code> is the index in the data provider of the item containing the selected cell.</p>   <code>false</code> if <code>index</code> is invalid, or the <code>selectionMode</code> is invalid.",
        "tags": [
        {  "tagName": "see",
               "values": ["spark.components.Grid#caretColumnIndex", "spark.components.Grid#caretRowIndex", "spark.components.Grid#dataProvider"]},
            {  "tagName": "param",
               "values": ["rowIndex The 0-based row index of the cell."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "return",
               "values": ["<code>true</code> if if no errors."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Boolean",
          "params": [{ "name": "rowIndex", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "addSelectedIndex",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "If <code>selectionMode</code> is <code>GridSelectionMode.MULTIPLE_ROWS</code>, adds this row to the selection and sets the caret position to this row. For all other selection modes, this method has no effect.  <p>The <code>rowIndex</code> is the index in the data provider of the item containing the selected cell.</p>   <code>false</code> if <code>index</code> is invalid or the <code>selectionMode</code> is invalid.",
        "tags": [
        {  "tagName": "see",
               "values": ["spark.components.Grid#caretColumnIndex", "spark.components.Grid#caretRowIndex", "spark.components.Grid#dataProvider"]},
            {  "tagName": "param",
               "values": ["rowIndex The 0-based row index of the cell."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "return",
               "values": ["<code>true</code> if no errors."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Boolean",
          "params": [{ "name": "rowIndex", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "removeSelectedIndex",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "If <code>selectionMode</code> is <code>GridSelectionMode.SINGLE_ROW</code> or <code>GridSelectionMode.MULTIPLE_ROWS</code>, removes this row from the selection and sets the caret position to this row. For all other selection modes, this method has no effect.  <p>The <code>rowIndex</code> is the index in the data provider of the item containing the selected cell.</p>   <code>false</code> if <code>index</code> is invalid or the <code>selectionMode</code> is invalid.",
        "tags": [
        {  "tagName": "see",
               "values": ["spark.components.Grid#caretColumnIndex", "spark.components.Grid#caretRowIndex", "spark.components.Grid#dataProvider"]},
            {  "tagName": "param",
               "values": ["rowIndex The 0-based row index of the cell."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "return",
               "values": ["<code>true</code> if no errors."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Boolean",
          "params": [{ "name": "rowIndex", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "selectIndices",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "If <code>selectionMode</code> is <code>GridSelectionMode.MULTIPLE_ROWS</code>, sets the selection to the specfied rows and the caret position to <code>endRowIndex</code>. For all other selection modes, this method has no effect.  <p>Each index represents an item in the data provider to include in the selection.</p>    <code>false</code> if any of the indices are invalid, if <code>startRowIndex</code> is not less than or equal to <code>endRowIndex</code>, or the <code>selectionMode</code> is invalid.",
        "tags": [
        {  "tagName": "see",
               "values": ["spark.components.Grid#dataProvider"]},
            {  "tagName": "param",
               "values": ["rowIndex 0-based row index of the first row in the selection.", "rowCount Number of rows in the selection."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "return",
               "values": ["<code>true</code> if no errors."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Boolean",
          "params": [{ "name": "rowIndex", "type": "int"},
        { "name": "rowCount", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "selectionContainsCell",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "If <code>selectionMode</code> is <code>GridSelectionMode.SINGLE_CELL</code> or <code>GridSelectionMode.MULTIPLE_CELLS</code>, returns <code>true</code> if the cell is in the current selection.  <p>The <code>rowIndex</code> must be between 0 and the length of the data provider.  The <code>columnIndex</code> must be between 0 and the length of <code>columns</code>. </p>",
        "tags": [
        {  "tagName": "see",
               "values": ["spark.components.Grid#columns", "spark.components.Grid#dataProvider"]},
            {  "tagName": "param",
               "values": ["rowIndex The 0-based row index of the cell.", "columnIndex The 0-based column index of the cell."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "return",
               "values": ["<code>true</code> if the current selection contains the cell."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Boolean",
          "params": [{ "name": "rowIndex", "type": "int"},
        { "name": "columnIndex", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "selectionContainsCellRegion",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "If <code>selectionMode</code> is <code>GridSelectionMode.MULTIPLE_CELLS</code>, returns <code>true</code> if the cells in the cell region are in the current selection.  <p>The <code>rowIndex</code> must be between 0 and the length of the data provider.  The <code>columnIndex</code> must be between 0 and the length of <code>columns</code>. </p>    include in the cell region.  <code>columnIndex</code> to include in the cell region.  the cells in the cell region.",
        "tags": [
        {  "tagName": "see",
               "values": ["spark.components.Grid#columns", "spark.components.Grid#dataProvider"]},
            {  "tagName": "param",
               "values": ["rowIndex The 0-based row index of the cell.", "columnIndex The 0-based column index of the cell.", "rowCount Number of rows, starting at <code>rowIndex</code> to", "columnCount Number of columns, starting at"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "return",
               "values": ["<code>true</code> if the current selection contains all"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Boolean",
          "params": [{ "name": "rowIndex", "type": "int"},
        { "name": "columnIndex", "type": "int"},
        { "name": "rowCount", "type": "int"},
        { "name": "columnCount", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "setSelectedCell",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "If <code>selectionMode</code> is <code>GridSelectionMode.SINGLE_CELL</code> or <code>GridSelectionMode.MULTIPLE_CELLS</code>, sets the selection and the caret position to this cell. For all other selection modes, this method has no effect.  <p>The <code>rowIndex</code> is the index in the data provider of the item containing the selected cell.  The <code>columnIndex</code> is the index in <code>columns</code> of the column containing the selected cell.</p>    <code>false</code> if <code>rowIndex</code> or <code>columnIndex</code> is invalid or the <code>selectionMode</code> is invalid.",
        "tags": [
        {  "tagName": "see",
               "values": ["spark.components.Grid#caretColumnIndex", "spark.components.Grid#caretRowIndex", "spark.components.Grid#columns", "spark.components.Grid#dataProvider"]},
            {  "tagName": "param",
               "values": ["rowIndex The 0-based row index of the cell.", "columnIndex The 0-based column index of the cell."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "return",
               "values": ["<code>true</code> if no errors."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Boolean",
          "params": [{ "name": "rowIndex", "type": "int"},
        { "name": "columnIndex", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "addSelectedCell",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "If <code>selectionMode</code> is <code>GridSelectionMode.SINGLE_CELL</code> or <code>GridSelectionMode.MULTIPLE_CELLS</code>, adds the cell to the selection and sets the caret position to the cell. For all other selection modes, this method has no effect.  <p>The <code>rowIndex</code> is the index in the data provider of the item containing the selected cell.  The <code>columnIndex</code> is the index in <code>columns</code> of the column containing the selected cell.</p>    <code>false</code> if <code>rowIndex</code> or <code>columnIndex</code> is invalid, or the <code>selectionMode</code> is invalid.",
        "tags": [
        {  "tagName": "see",
               "values": ["spark.components.Grid#caretColumnIndex", "spark.components.Grid#caretRowIndex", "spark.components.Grid#columns", "spark.components.Grid#dataProvider"]},
            {  "tagName": "param",
               "values": ["rowIndex The 0-based row index of the cell.", "columnIndex The 0-based column index of the cell."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "return",
               "values": ["<code>true</code> if no errors."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Boolean",
          "params": [{ "name": "rowIndex", "type": "int"},
        { "name": "columnIndex", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "removeSelectedCell",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "If <code>selectionMode</code> is <code>GridSelectionMode.SINGLE_CELL</code> or <code>GridSelectionMode.MULTIPLE_CELLS</code>, removes the cell from the selection and sets the caret position to the cell. For all other selection modes, this method has no effect.  <p>The <code>rowIndex</code> is the index in the data provider of the item containing the selected cell.  The <code>columnIndex</code> is the index in <code>columns</code> of the column containing the selected cell.</p>    <code>false</code> if <code>rowIndex</code> or <code>columnIndex</code> is invalid or the <code>selectionMode</code> is invalid.",
        "tags": [
        {  "tagName": "see",
               "values": ["spark.components.Grid#caretColumnIndex", "spark.components.Grid#caretRowIndex", "spark.components.Grid#columns", "spark.components.Grid#dataProvider"]},
            {  "tagName": "param",
               "values": ["rowIndex The 0-based row index of the cell.", "columnIndex The 0-based column index of the cell."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "return",
               "values": ["<code>true</code> if no errors."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Boolean",
          "params": [{ "name": "rowIndex", "type": "int"},
        { "name": "columnIndex", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "selectCellRegion",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "If <code>selectionMode</code> is <code>GridSelectionMode.MULTIPLE_CELLS</code>, sets the selection to all the cells in the cell region and the caret position to the last cell in the cell region. For all other selection modes, this method has no effect.  <p>The <code>rowIndex</code> is the index in the data provider of the item containing the origin of the cell region. The <code>columnIndex</code> is the index in <code>columns</code> of the column containing the origin of the cell region.</p>  <p>This method has no effect if the cell region is not wholly contained within the grid.</p>   region.  include in the cell region.  <code>columnIndex</code> to include in the cell region.  <code>false</code> if the cell region is invalid or the <code>selectionMode</code> is invalid.",
        "tags": [
        {  "tagName": "see",
               "values": ["spark.components.Grid#caretColumnIndex", "spark.components.Grid#caretRowIndex", "spark.components.Grid#columns", "spark.components.Grid#dataProvider"]},
            {  "tagName": "param",
               "values": ["rowIndex The 0-based row index of the origin of the cell region.", "columnIndex The 0-based column index of the origin of the cell", "rowCount Number of rows, starting at <code>rowIndex</code> to", "columnCount Number of columns, starting at"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "return",
               "values": ["<code>true</code> if no errors."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Boolean",
          "params": [{ "name": "rowIndex", "type": "int"},
        { "name": "columnIndex", "type": "int"},
        { "name": "rowCount", "type": "uint"},
        { "name": "columnCount", "type": "uint"}]}
      ,
      { "type": "method",
        "qname": "ensureCellIsVisible",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "If necessary, set the <code>verticalScrollPosition</code> and <code>horizontalScrollPosition</code> properties so that the specified cell is completely visible. If <code>rowIndex</code> is -1 and <code>columnIndex</code> is specified, then just adjust the <code>horizontalScrollPosition</code> so that the specified column is visible. If <code>columnIndex</code> is -1 and <code>rowIndex</code> is specified, then just adjust the <code>verticalScrollPosition</code> so that the specified row is visible.",
        "tags": [
        {  "tagName": "param",
               "values": ["rowIndex The 0-based row index of the item renderer's cell, or -1 to specify a column.", "columnIndex The 0-based column index of the item renderer's cell, or -1 to specify a row."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "rowIndex", "type": "int"},
        { "name": "columnIndex", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "getCellBounds",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns the current pixel bounds of the specified cell, or null if no such cell exists. Cell bounds are reported in grid coordinates.  <p>If all of the columns for the the specfied row and all of the rows preceeding it have not yet been scrolled into view, the returned bounds may only be an approximation, based on all of the columns' <code>typicalItem</code>s.</p>",
        "tags": [
        {  "tagName": "param",
               "values": ["rowIndex The 0-based index of the row.", "columnIndex The 0-based index of the column."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "return",
               "values": ["A <code>Rectangle</code> that represents the cell's pixel bounds, or null."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "org.apache.royale.geom.Rectangle",
          "params": [{ "name": "rowIndex", "type": "int"},
        { "name": "columnIndex", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "getRowBounds",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns the current pixel bounds of the specified row, or null if no such row exists. Row bounds are reported in grid coordinates.  <p>If all of the columns for the the specfied row and all of the rows preceeding it have not yet been scrolled into view, the returned bounds may only be an approximation, based on all of the columns' <code>typicalItem</code>s.</p>",
        "tags": [
        {  "tagName": "param",
               "values": ["rowIndex The 0-based index of the row."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "return",
               "values": ["A <code>Rectangle</code> that represents the row's pixel bounds, or null."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "org.apache.royale.geom.Rectangle",
          "params": [{ "name": "rowIndex", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "getColumnBounds",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns the current pixel bounds of the specified column, or null if no such column exists. Column bounds are reported in grid coordinates.  <p>If all of the cells in the specified column have not yet been scrolled into view, the returned bounds may only be an approximation, based on the column's <code>typicalItem</code>.</p>",
        "tags": [
        {  "tagName": "param",
               "values": ["columnIndex The 0-based index of the column."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "return",
               "values": ["A <code>Rectangle</code> that represents the column's pixel bounds, or null."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "org.apache.royale.geom.Rectangle",
          "params": [{ "name": "columnIndex", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "getRowIndexAt",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns the row index corresponding to the specified grid coordinates, or -1 if the coordinates are out of bounds.  <p>If all of the columns or rows for the grid have not yet been scrolled into view, the returned index may only be an approximation, based on all of the columns' <code>typicalItem</code>s.</p>",
        "tags": [
        {  "tagName": "param",
               "values": ["x The x coordinate.", "y The y coordinate."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "return",
               "values": ["The index of the row corresponding to the specified coordinates."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "int",
          "params": [{ "name": "x", "type": "Number"},
        { "name": "y", "type": "Number"}]}
      ,
      { "type": "method",
        "qname": "getColumnIndexAt",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns the column index corresponding to the specified grid coordinates, or -1 if the coordinates are out of bounds.  <p>If all of the columns or rows for the grid have not yet been scrolled into view, the returned index may only be an approximation, based on all of the columns' <code>typicalItem</code>s.</p>",
        "tags": [
        {  "tagName": "param",
               "values": ["x The pixel's x coordinate relative to the grid.", "y The pixel's y coordinate relative to the grid."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "return",
               "values": ["The index of the column, or -1 if the coordinates are out of bounds."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "int",
          "params": [{ "name": "x", "type": "Number"},
        { "name": "y", "type": "Number"}]}
      ,
      { "type": "method",
        "qname": "getColumnWidth",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Return the width of the specified column.  If the cell's entire bounds aren't needed, this method is more efficient than <code>getColumnBounds().width</code>.  <p>If the specified column's width property isn't defined, then the returned value may only be an approximation.  The actual column width is only computed after the column has been scrolled into view.</p>",
        "tags": [
        {  "tagName": "param",
               "values": ["columnIndex The 0-based index of the column."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "return",
               "values": ["The width of the specified column."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Number",
          "params": [{ "name": "columnIndex", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "getCellAt",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Return the row and column indices of the cell that overlaps the pixel at the specified grid coordinate. If no such cell exists, null is returned.  <p>The example function below uses this method to compute the value of the <code>dataField</code> for a grid cell.</p> <pre>\\n function getCellData(x:Number, y:Number):Object\\n {\\n var cell:CellPosition = getCellAt(x, y);\\n if (!cell)\\n return null;\\n var GridColumn:column = grid.columns.getItemAt(cell.columnIndex);\\n return grid.dataProvider.getItemAt(cell.rowIndex)[column.dataField];\\n }\\n </pre>",
        "tags": [
        {  "tagName": "param",
               "values": ["x The pixel's x coordinate relative to the grid.", "y The pixel's y coordinate relative to the grid."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "return",
               "values": ["The cell position, or null."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "spark.components.gridClasses.CellPosition",
          "params": [{ "name": "x", "type": "Number"},
        { "name": "y", "type": "Number"}]}
      ,
      { "type": "method",
        "qname": "getCellsAt",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns a vector of CellPosition objects whose <code>rowIndex</code> and <code>columnIndex</code> properties specify the row and column indices of the cells that overlap the specified grid region. If no such cells exist, an empty vector is returned.",
        "tags": [
        {  "tagName": "param",
               "values": ["x The x coordinate of the pixel at the origin of the region, relative to the grid.", "x The x coordinate of the pixel at the origin of the region, relative to the grid.", "w The width of the region, in pixels.", "h The height of the region, in pixels."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "return",
               "values": ["A vector of objects like <code>Vector.&lt;Object&gt;([{rowIndex:0, columnIndex:0}, ...])</code>."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Vector.<spark.components.gridClasses.CellPosition>",
          "params": [{ "name": "x", "type": "Number"},
        { "name": "y", "type": "Number"},
        { "name": "w", "type": "Number"},
        { "name": "h", "type": "Number"}]}
      ,
      { "type": "method",
        "qname": "getCellX",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Return the X coordinate of the specified cell's origin.  If the cell's entire bounds aren't needed, this method is more efficient than <code>getCellBounds().x</code>.  <p>If all of the columns for the the specfied row and all of the rows preceeding it have not yet been scrolled into view, the returned value may only be an approximation, based on all of the columns' <code>typicalItem</code>s.</p>",
        "tags": [
        {  "tagName": "param",
               "values": ["rowIndex The 0-based index of the row.", "columnIndex The 0-based index of the column."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "return",
               "values": ["The x coordindate of the specified cell's origin."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Number",
          "params": [{ "name": "rowIndex", "type": "int"},
        { "name": "columnIndex", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "getCellY",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Return the Y coordinate of the specified cell's origin.  If the cell's entire bounds aren't needed, this method is more efficient than <code>getCellBounds().y</code>.  <p>If all of the columns for the the specfied row and all of the rows preceeding it have not yet been scrolled into view, the returned value may only be an approximation, based on all of the columns' <code>typicalItem</code>s.</p>",
        "tags": [
        {  "tagName": "param",
               "values": ["rowIndex The 0-based index of the row.", "columnIndex The 0-based index of the column."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "return",
               "values": ["The y coordindate of the specified cell's origin."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Number",
          "params": [{ "name": "rowIndex", "type": "int"},
        { "name": "columnIndex", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "isCellVisible",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns <code>true</code> if the specified cell is at least partially visible. If <code>columnIndex == -1</code>, then return <code>true</code> if the specified row is at least partially visible. If <code>rowIndex == -1</code>, then return <code>true</code> if the specified column is at least partially visible. If both <code>columnIndex</code> and <code>rowIndex</code> are -1, then return <code>false</code>.",
        "tags": [
        {  "tagName": "param",
               "values": ["rowIndex The 0-based row index of the item renderer's cell.", "columnIndex The 0-based column index of the item renderer's cell."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "return",
               "values": ["True if the specified cell (or row if columnIndex == -1) is at least partially visible"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Boolean",
          "params": [{ "name": "rowIndex", "type": "int"},
        { "name": "columnIndex", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "createGridSelection",
        "namespace": "mx_internal",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Creates a grid selection object to use to manage selection. Override this method if you have a custom grid selection that you want to use in place of the default and this grid is not a skin part for DataGrid. This method is not used when this grid is a skin part for DataGrid.",
        "tags": [
        {  "tagName": "see",
               "values": ["spark.components.DataGrid.createGridSelection"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "spark.components.gridClasses.GridSelection",
          "params": []}
      ,
      { "type": "method",
        "qname": "findRowIndex",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "This will search through a dataprovider checking the given field and for the given value and return the index for the match. It can start the find from a given startingIndex;",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 11.1", "AIR 3.4"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.10"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "int",
          "params": [{ "name": "field", "type": "String"},
        { "name": "value", "type": "String"},
        { "name": "startingIndex", "type": "int"},
        { "name": "patternType", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "findRowIndices",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "This will search through a dataprovider checking the given field and for the given values and return an array of indices that matched.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 11.1", "AIR 3.4"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.10"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Array",
          "params": [{ "name": "field", "type": "String"},
        { "name": "values", "type": "Array"},
        { "name": "patternType", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "moveIndexFindRow",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "This will search through a dataprovider checking the given field and will set the selectedIndex to a matching value. It can start the search from the startingIndex;",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 11.1", "AIR 3.4"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.10"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Boolean",
          "params": [{ "name": "field", "type": "String"},
        { "name": "value", "type": "String"},
        { "name": "startingIndex", "type": "int"},
        { "name": "patternType", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "moveIndexFirstRow",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Changes the selectedIndex to the first row of the dataProvider.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 11.1", "AIR 3.4"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.10"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "moveIndexLastRow",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Changes the selectedIndex to the last row of the dataProvider.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 11.1", "AIR 3.4"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.10"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "moveIndexNextRow",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Changes the selectedIndex to the next row of the dataProvider.  If there isn't a current selectedIndex, it silently returns. If the selectedIndex is on the first row, it does not wrap around.  However the <code>isFirstRow</code> property returns true.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 11.1", "AIR 3.4"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.10"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "moveIndexPreviousRow",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Changes the selectedIndex to the previous row of the dataProvider.  If there isn't a current selectedIndex, it silently returns. If the selectedIndex is on the last row, it does not wrap around.  However the <code>isLastRow</code> property returns true.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 11.1", "AIR 3.4"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.10"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "field",
        "qname": "DOUBLE_CLICK_TIME",
        "return": "Number",
        "namespace": "mx_internal",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "nestLevel",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "processedDescriptors",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "updateCompletePendingFlag",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "invalidatePropertiesFlag",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}}]
  ,
  "events": [
  { "qname": "gridMouseDown",
        "type": "spark.events.GridEvent"
      ,
          "description": "Dispatched when the mouse button is pressed over a Grid cell.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "eventType",
               "values": ["spark.events.GridEvent.GRID_MOUSE_DOWN"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "qname": "gridMouseDrag",
        "type": "spark.events.GridEvent"
      ,
          "description": "Dispatched after a <code>gridMouseDown</code> event if the mouse moves before the button is released.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "eventType",
               "values": ["spark.events.GridEvent.GRID_MOUSE_DRAG"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "qname": "gridMouseUp",
        "type": "spark.events.GridEvent"
      ,
          "description": "Dispatched when the mouse button is released over a Grid cell. During a drag operation, it is also dispatched after a <code>gridMouseDown</code> event when the mouse button is released, even if the mouse is no longer in the Grid.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "eventType",
               "values": ["spark.events.GridEvent.GRID_MOUSE_UP"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "qname": "gridRollOver",
        "type": "spark.events.GridEvent"
      ,
          "description": "Dispatched when the mouse enters a grid cell.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "eventType",
               "values": ["spark.events.GridEvent.GRID_ROLL_OVER"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "qname": "gridRollOut",
        "type": "spark.events.GridEvent"
      ,
          "description": "Dispatched when the mouse leaves a grid cell.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "eventType",
               "values": ["spark.events.GridEvent.GRID_ROLL_OUT"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "qname": "gridClick",
        "type": "spark.events.GridEvent"
      ,
          "description": "Dispatched when the mouse is clicked over a cell",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "eventType",
               "values": ["spark.events.GridEvent.GRID_CLICK"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "qname": "gridDoubleClick",
        "type": "spark.events.GridEvent"
      ,
          "description": "Dispatched when the mouse is double-clicked over a cell",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "eventType",
               "values": ["spark.events.GridEvent.GRID_DOUBLE_CLICK"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "qname": "caretChange",
        "type": "spark.events.GridCaretEvent"
      ,
          "description": "Dispatched after the caret changes.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "eventType",
               "values": ["spark.events.GridCaretEvent.CARET_CHANGE"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]}]
  }
