{ "type": "class",
  "qname": "mx.events.DataGridEvent",
  "baseClassname": "org.apache.royale.events.Event"
  ,
    "description": "The DataGridEvent class represents event objects that are specific to the DataGrid control, such as the event that is dispatched when an editable grid item gets the focus.",
  "tags": [
  {  "tagName": "see",
         "values": ["mx.controls.DataGrid"]},
      {  "tagName": "playerversion",
         "values": ["Flash 9", "AIR 1.1"]},
      {  "tagName": "productversion",
         "values": ["Flex 3"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "field",
        "qname": "ITEM_EDIT_BEGIN",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "The DataGridEvent.ITEM_EDIT_BEGIN constant defines the value of the <code>type</code> property of the event object for a <code>itemEditBegin</code> event, which indicates that an item is ready to be edited.  <p>The default listener for this event performs the following actions:</p>  <ul> <li>Creates an item editor object by using a call to the <code>createItemEditor()</code> method.</li> <li>Copies the <code>data</code> property from the item to the editor. By default, the item editor object is an instance of the TextInput control. You use the <code>itemEditor</code> property of the list control to specify a custom item editor class.</li>  <li>Set the <code>itemEditorInstance</code> property of the list control to reference the item editor instance.</li> </ul>  <p>You can write an event listener for this event to modify the data passed to the item editor. For example, you might modify the data, its format, or other information used by the item editor.</p>  <p>You can also create an event listener to specify the item editor used to edit the item. For example, you might have two different item editors. Within the event listener you can examine the data to be edited or other information, and open the appropriate item editor by doing the following:</p>  <ol> <li>Call <code>preventDefault()</code> to stop Flex from calling the <code>createItemEditor()</code> method as part of the default event listener.</li> <li>Set the <code>itemEditor</code> property to the appropriate editor.</li> <li>Call the <code>createItemEditor()</code> method.</li> </ol>  <p>The properties of the event object have the following values:</p>  <table class=&quot;innertable&quot;> <tr><th>Property</th><th>Value</th></tr> <tr><td><code>bubbles</code></td><td>false</td></tr> <tr><td><code>cancelable</code></td><td>true</td></tr> <tr><td><code>columnIndex</code></td><td> The zero-based index of the item's column in the DataGrid object's <code>columns</code> array.</td></tr> <tr><td><code>currentTarget</code></td><td>The Object that defines the event listener that handles the event. For example, if you use <code>myButton.addEventListener()</code> to register an event listener, myButton is the value of the <code>currentTarget</code>. </td></tr> <tr><td><code>dataField</code></td><td>null</td></tr> <tr><td><code>itemRenderer</code></td><td>The item renderer for the item that is being edited.</td></tr> <tr><td><code>localX</code></td><td>NaN</td></tr> <tr><td><code>reason</code></td><td>null</td></tr> <tr><td><code>rowIndex</code></td><td>The zero-based index of the item in the data provider.</td></tr> <tr><td><code>target</code></td><td>The Object that dispatched the event; it is not always the Object listening for the event. Use the <code>currentTarget</code> property to always access the Object listening for the event.</td></tr> <tr><td><code>type</code></td><td>DataGridEvent.ITEM_EDIT_BEGIN</td></tr> </table>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "eventType",
               "values": ["itemEditBegin"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "ITEM_EDIT_END",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "The DataGridEvent.ITEM_EDIT_END constant defines the value of the <code>type</code> property of the event object for a <code>itemEditEnd</code> event, which indicates that an edit session is ending.  <p>The list components have a default handler for this event that copies the data from the item editor to the data provider of the list control. The default event listener performs the following actions:</p>  <ul> <li>Uses the <code>editorDataField</code> property of the DataGridColumn associated with this event to determine the property of the item editor containing the new data and updates the data provider item with that new data. Since the default item editor is the TextInput control, the default value of the <code>editorDataField</code> property is <code>&quot;text&quot;</code>, to specify that the <code>text</code> property of the TextInput contains the new item data.</li>  <li>Calls the <code>destroyItemEditor()</code> method to close the item editor.</li> </ul>  <p>You typically write an event listener for this event to perform the following actions:</p> <ul> <li>In your event listener, you can modify the data returned by the editor to the list component. For example, you can reformat the data before returning it to the list control. By default, an item editor can only return a single value. You must write an event listener for the <code>itemEditEnd</code> event if you want to return multiple values.</li>  <li>In your event listener, you can examine the data entered into the item editor. If the data is incorrect, you can call the <code>preventDefault()</code> method to stop Flex from passing the new data back to the list control and from closing the editor. </li> </ul>  <p>The properties of the event object have the following values:</p> <table class=&quot;innertable&quot;> <tr><th>Property</th><th>Value</th></tr> <tr><td><code>bubbles</code></td><td>false</td></tr> <tr><td><code>cancelable</code></td><td>true</td></tr> <tr><td><code>columnIndex</code></td><td> The zero-based index of the item's column in the DataGrid object's <code>columns</code> array.</td></tr> <tr><td><code>currentTarget</code></td><td>The Object that defines the event listener that handles the event. For example, if you use <code>myButton.addEventListener()</code> to register an event listener, myButton is the value of the <code>currentTarget</code>. </td></tr> <tr><td><code>dataField</code></td><td>The name of the field or property in the data associated with the item's column.</td></tr> <tr><td><code>itemRenderer</code></td><td>The item renderer for the item that is being edited.</td></tr> <tr><td><code>localX</code></td><td>NaN</td></tr> <tr><td><code>reason</code></td><td>A constant defining the reason for the event. The value must be a member of the <code>DataGridEventReason</code> class.</td></tr> <tr><td><code>rowIndex</code></td><td>The zero-based index of the item in the data provider.</td></tr> <tr><td><code>target</code></td><td>The Object that dispatched the event; it is not always the Object listening for the event. Use the <code>currentTarget</code> property to always access the Object listening for the event.</td></tr> <tr><td><code>type</code></td><td>DataGridEvent.ITEM_EDIT_END</td></tr> </table>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "eventType",
               "values": ["itemEditEnd"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "ITEM_FOCUS_IN",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "The DataGridEvent.ITEM_FOCUS_IN constant defines the value of the <code>type</code> property of the event object for a <code>itemFocusIn</code> event, which indicates that an item has received the focus.  <p>The properties of the event object have the following values:</p> <table class=&quot;innertable&quot;> <tr><th>Property</th><th>Value</th></tr> <tr><td><code>bubbles</code></td><td>false</td></tr> <tr><td><code>cancelable</code></td><td>false</td></tr> <tr><td><code>columnIndex</code></td><td> The zero-based index of the item's column in the DataGrid object's <code>columns</code> array.</td></tr> <tr><td><code>currentTarget</code></td><td>The Object that defines the event listener that handles the event. For example, if you use <code>myButton.addEventListener()</code> to register an event listener, myButton is the value of the <code>currentTarget</code>. </td></tr> <tr><td><code>dataField</code></td><td>null</td></tr> <tr><td><code>itemRenderer</code></td><td>The item editor instance for the item that is being edited.</td></tr> <tr><td><code>localX</code></td><td>NaN</td></tr> <tr><td><code>reason</code></td><td>null</td></tr> <tr><td><code>rowIndex</code></td><td>The zero-based index of the item in the data provider.</td></tr> <tr><td><code>target</code></td><td>The Object that dispatched the event; it is not always the Object listening for the event. Use the <code>currentTarget</code> property to always access the Object listening for the event.</td></tr> <tr><td><code>type</code></td><td>DataGridEvent.ITEM_FOCUS_IN</td></tr> </table>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "eventType",
               "values": ["itemFocusIn"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "ITEM_FOCUS_OUT",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "The DataGridEvent.ITEM_FOCUS_OUT constant defines the value of the <code>type</code> property of the event object for a <code>itemFocusOut</code> event, which indicates that an item has lost the focus.  <p>The properties of the event object have the following values:</p> <table class=&quot;innertable&quot;> <tr><th>Property</th><th>Value</th></tr> <tr><td><code>bubbles</code></td><td>false</td></tr> <tr><td><code>cancelable</code></td><td>false</td></tr> <tr><td><code>columnIndex</code></td><td> The zero-based index of the item's column in the DataGrid object's <code>columns</code> array.</td></tr> <tr><td><code>currentTarget</code></td><td>The Object that defines the event listener that handles the event. For example, if you use <code>myButton.addEventListener()</code> to register an event listener, myButton is the value of the <code>currentTarget</code>. </td></tr> <tr><td><code>dataField</code></td><td>null</td></tr> <tr><td><code>itemRenderer</code></td><td>The item editor instance for the item that is being edited.</td></tr> <tr><td><code>localX</code></td><td>NaN</td></tr> <tr><td><code>reason</code></td><td>null</td></tr> <tr><td><code>rowIndex</code></td><td>The zero-based index of the item in the data provider.</td></tr> <tr><td><code>target</code></td><td>The Object that dispatched the event; it is not always the Object listening for the event. Use the <code>currentTarget</code> property to always access the Object listening for the event.</td></tr> <tr><td><code>type</code></td><td>DataGridEvent.ITEM_FOCUS_OUT</td></tr> </table>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "eventType",
               "values": ["itemFocusOut"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "ITEM_EDIT_BEGINNING",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "The DataGridEvent.ITEM__EDIT_BEGINNING constant defines the value of the <code>type</code> property of the event object for a <code>itemEditBeginning</code> event, which indicates that the user has prepared to edit an item, for example, by releasing the mouse button over the item.  <p>The default listener for this event sets the <code>DataGrid.editedItemPosition</code> property to the item that has focus, which starts the item editing session.</p>  <p>You typically write your own event listener for this event to disallow editing of a specific item or items. Calling the <code>preventDefault()</code> method from within your own event listener for this event prevents the default listener from executing.</p>  <p>The properties of the event object have the following values:</p> <table class=&quot;innertable&quot;> <tr><th>Property</th><th>Value</th></tr> <tr><td><code>bubbles</code></td><td>false</td></tr> <tr><td><code>cancelable</code></td><td>true</td></tr> <tr><td><code>columnIndex</code></td><td> The zero-based index of the item's column in the DataGrid object's <code>columns</code> array.</td></tr> <tr><td><code>currentTarget</code></td><td>The Object that defines the event listener that handles the event. For example, if you use <code>myButton.addEventListener()</code> to register an event listener, myButton is the value of the <code>currentTarget</code>. </td></tr> <tr><td><code>dataField</code></td><td>The name of the field or property in the data associated with the item's column.</td></tr> <tr><td><code>itemRenderer</code></td><td>The item renderer for the item that will be edited. This property is null if this event is generated by keyboard, as the item to be edited may be off-screen.</td></tr> <tr><td><code>localX</code></td><td>NaN</td></tr> <tr><td><code>reason</code></td><td>null</td></tr> <tr><td><code>rowIndex</code></td><td>The zero-based index of the item in the data provider.</td></tr> <tr><td><code>target</code></td><td>The Object that dispatched the event; it is not always the Object listening for the event. Use the <code>currentTarget</code> property to always access the Object listening for the event.</td></tr> <tr><td><code>type</code></td><td>DataGridEvent.ITEM_EDIT_BEGINNING</td></tr> </table>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "eventType",
               "values": ["itemEditBeginning"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "ITEM_EDITOR_CREATE",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "The DataGridEvent.ITEM_EDITOR_CREATE constant defines the value of the <code>type</code> property of the event object for a <code>itemEditorCreate</code> event, which indicates that the datagrid has completed the creation of the item editor.  <p>There is no default listener for this event.</p>  <p>You typically write your own event listener for this event to allow custom modifications to the <code>itemEditor</code> before the user can begin editing.</p>  <p>The properties of the event object have the following values:</p> <table class=&quot;innertable&quot;> <tr><th>Property</th><th>Value</th></tr> <tr><td><code>bubbles</code></td><td>false</td></tr> <tr><td><code>cancelable</code></td><td>true</td></tr> <tr><td><code>columnIndex</code></td><td> The zero-based index of the item's column in the DataGrid object's <code>columns</code> array.</td></tr> <tr><td><code>currentTarget</code></td><td>The Object that defines the event listener that handles the event. For example, if you use <code>myButton.addEventListener()</code> to register an event listener, myButton is the value of the <code>currentTarget</code>. </td></tr> <tr><td><code>dataField</code></td><td>null</td></tr> <tr><td><code>itemRenderer</code></td><td>null</td></tr> <tr><td><code>localX</code></td><td>NaN</td></tr> <tr><td><code>reason</code></td><td>null</td></tr> <tr><td><code>rowIndex</code></td><td>The zero-based index of the item in the data provider.</td></tr> <tr><td><code>target</code></td><td>The Object that dispatched the event; it is not always the Object listening for the event. Use the <code>currentTarget</code> property to always access the Object listening for the event.</td></tr> <tr><td><code>type</code></td><td>DataGridEvent.ITEM_EDITOR_CREATE</td></tr> </table>",
        "tags": [
        {  "tagName": "eventType",
               "values": ["itemEditorCreate"]}  ]},
      { "type": "field",
        "qname": "COLUMN_STRETCH",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "The DataGridEvent.COLUMN_STRETCH constant defines the value of the <code>type</code> property of the event object for a <code>columnStretch</code> event, which indicates that a user expanded a column horizontally. <p>The properties of the event object have the following values:</p>  <table class=&quot;innertable&quot;> <tr><th>Property</th><th>Value</th></tr> <tr><td><code>bubbles</code></td><td>false</td></tr> <tr><td><code>cancelable</code></td><td>false</td></tr> <tr><td><code>columnIndex</code></td><td> The zero-based index of the item's column in the DataGrid object's <code>columns</code> array.</td></tr> <tr><td><code>currentTarget</code></td><td>The Object that defines the event listener that handles the event. For example, if you use <code>myButton.addEventListener()</code> to register an event listener, myButton is the value of the <code>currentTarget</code>. </td></tr> <tr><td><code>dataField</code></td><td>The name of the field or property in the data associated with the column.</td></tr> <tr><td><code>itemRenderer</code></td><td>null</td></tr> <tr><td><code>localX</code></td><td>the x position of the mouse</td></tr> <tr><td><code>reason</code></td><td>null</td></tr> <tr><td><code>rowIndex</code></td><td>The zero-based index of the item in the data provider.</td></tr> <tr><td><code>target</code></td><td>The Object that dispatched the event; it is not always the Object listening for the event. Use the <code>currentTarget</code> property to always access the Object listening for the event.</td></tr> <tr><td><code>type</code></td><td>DataGridEvent.COLUMN_STRETCH</td></tr> </table>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "eventType",
               "values": ["columnStretch"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "HEADER_RELEASE",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "The DataGridEvent.HEADER_RELEASE constant defines the value of the <code>type</code> property of the event object for a <code>headerRelease</code> event, which indicates that the user pressed and released the mouse on a column header.  <p>The properties of the event object have the following values:</p> <table class=&quot;innertable&quot;> <tr><th>Property</th><th>Value</th></tr> <tr><td><code>bubbles</code></td><td>false</td></tr> <tr><td><code>cancelable</code></td><td>true</td></tr> <tr><td><code>columnIndex</code></td><td> The zero-based index of the item's column in the DataGrid object's <code>columns</code> array.</td></tr> <tr><td><code>currentTarget</code></td><td>The Object that defines the event listener that handles the event. For example, if you use <code>myButton.addEventListener()</code> to register an event listener, myButton is the value of the <code>currentTarget</code>. </td></tr> <tr><td><code>dataField</code></td><td>The name of the field or property in the data associated with the column.</td></tr> <tr><td><code>itemRenderer</code></td><td>The header renderer that is being released.</td></tr> <tr><td><code>localX</code></td><td>NaN</td></tr> <tr><td><code>reason</code></td><td>null</td></tr> <tr><td><code>rowIndex</code></td><td>null</td></tr> <tr><td><code>target</code></td><td>The Object that dispatched the event; it is not always the Object listening for the event. Use the <code>currentTarget</code> property to always access the Object listening for the event.</td></tr> <tr><td><code>type</code></td><td>DataGridEvent.HEADER_RELEASE</td></tr> </table>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "eventType",
               "values": ["headerRelease"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "mx.events.DataGridEvent",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor. Normally called by the DataGrid object; not used in application code.         was clicked..",
        "tags": [
        {  "tagName": "param",
               "values": ["type The event type; indicates the action that caused the event.", "bubbles Specifies whether the event can bubble up the display list hierarchy.", "cancelable Specifies whether the behavior associated with the event can be prevented.", "columnIndex The zero-based index of the column where the event occurred.", "dataField  The name of the field or property in the data associated with the column.", "rowIndex The zero-based index of the item in the in the data provider.", "reason The reason for an <code>itemEditEnd</code> event.", "itemRenderer The item renderer that is being edited or the header renderer that", "localX Column x-position for replaying <code>columnStretch</code> events."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": [{ "name": "type", "type": "String"},
        { "name": "bubbles", "type": "Boolean"},
        { "name": "cancelable", "type": "Boolean"},
        { "name": "columnIndex", "type": "int"},
        { "name": "dataField", "type": "String"},
        { "name": "rowIndex", "type": "int"},
        { "name": "reason", "type": "String"},
        { "name": "itemRenderer", "type": "mx.controls.listClasses.IListItemRenderer"},
        { "name": "localX", "type": "Number"}]}
      ,
      { "type": "field",
        "qname": "columnIndex",
        "return": "int",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The zero-based index in the DataGrid object's <code>columns</code> array of the column associated with the event.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "dataField",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The name of the field or property in the data associated with the column.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "itemRenderer",
        "return": "mx.controls.listClasses.IListItemRenderer",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The item renderer for the item that is being edited or the header render that is being clicked or stretched. You can access the data provider item using this property.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "localX",
        "return": "Number",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The column's x-position; used for replaying column stretch events.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "reason",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The reason the <code>itemEditEnd</code> event was dispatched. Valid only for events with type <code>ITEM_EDIT_END</code>. The possible values are defined in the DataGridEventReason class.",
        "tags": [
        {  "tagName": "see",
               "values": ["DataGridEventReason"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "rowIndex",
        "return": "int",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The zero-based index of the item in the data provider.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]}]
  }
