/// <summary>
 /// Fires after editing, but before the value is set in the record. Return false from event handler to
 /// cancel the change.
 /// Usage example showing how to remove the red triangle (dirty record indicator) from some records (not all). By
 /// observing the grid's validateedit event, it can be cancelled if the edit occurs on a targeted row (for example)
 /// and then setting the field's new value in the Record directly:
 /// <code>grid.on('validateedit', function(editor, e) {
 /// var myTargetRow = 6;
 /// if (e.rowIdx == myTargetRow) {
 /// e.cancel = true;
 /// e.record.data[e.field] = e.value;
 /// }
 /// });
 /// </code>
 /// </summary>
 /// <param name="editor">
 /// </param>
 /// <param name="e"><p>An edit event with the following properties:</p>
 /// <ul>
 /// <li>grid - The grid</li>
 /// <li>record - The record being edited</li>
 /// <li>field - The field name being edited</li>
 /// <li>value - The value being set</li>
 /// <li>row - The grid table row</li>
 /// <li>column - The grid <see cref="Ext.grid.column.Column">Column</see> defining the column that is being edited.</li>
 /// <li>rowIdx - The row index that is being edited</li>
 /// <li>colIdx - The column index that is being edited</li>
 /// <li>cancel - Set this to true to cancel the edit or return false from your handler.</li>
 /// <li>originalValue - The original value for the field, before the edit (only when using <see cref="Ext.grid.plugin.CellEditing">CellEditing</see>)</li>
 /// <li>originalValues - The original values for the field, before the edit (only when using <see cref="Ext.grid.plugin.RowEditing">RowEditing</see>)</li>
 /// <li>newValues - The new values being set (only when using <see cref="Ext.grid.plugin.RowEditing">RowEditing</see>)</li>
 /// <li>view - The grid view (only when using <see cref="Ext.grid.plugin.RowEditing">RowEditing</see>)</li>
 /// <li>store - The grid store (only when using <see cref="Ext.grid.plugin.RowEditing">RowEditing</see>)</li>
 /// </ul>
 /// </param>
 /// <param name="eOpts"><p>The options object passed to <see cref="Ext.util.Observable.addListener">Ext.util.Observable.addListener</see>.</p>
 /// </param>
 public void validateedit(Editing editor, object e, object eOpts){}
 /// <summary>
 /// Fires when the user started editing but then cancelled the edit.
 /// </summary>
 /// <param name="editor">
 /// </param>
 /// <param name="e"><p>An edit event with the following properties:</p>
 /// <ul>
 /// <li>grid - The grid</li>
 /// <li>record - The record that was edited</li>
 /// <li>field - The field name that was edited</li>
 /// <li>value - The value being set</li>
 /// <li>row - The grid table row</li>
 /// <li>column - The grid <see cref="Ext.grid.column.Column">Column</see> defining the column that was edited.</li>
 /// <li>rowIdx - The row index that was edited</li>
 /// <li>colIdx - The column index that was edited</li>
 /// <li>view - The grid view</li>
 /// <li>store - The grid store</li>
 /// </ul>
 /// </param>
 /// <param name="eOpts"><p>The options object passed to <see cref="Ext.util.Observable.addListener">Ext.util.Observable.addListener</see>.</p>
 /// </param>
 public void canceledit(Editing editor, object e, object eOpts){}
 /// <summary>
 /// Fires after a editing. Usage example:
 /// <code>grid.on('edit', function(editor, e) {
 /// // commit the changes right after editing finished
 /// e.record.commit();
 /// });
 /// </code>
 /// </summary>
 /// <param name="editor">
 /// </param>
 /// <param name="e"><p>An edit event with the following properties:</p>
 /// <ul>
 /// <li>grid - The grid</li>
 /// <li>record - The record that was edited</li>
 /// <li>field - The field name that was edited</li>
 /// <li>value - The value being set</li>
 /// <li>row - The grid table row</li>
 /// <li>column - The grid <see cref="Ext.grid.column.Column">Column</see> defining the column that was edited.</li>
 /// <li>rowIdx - The row index that was edited</li>
 /// <li>colIdx - The column index that was edited</li>
 /// <li>originalValue - The original value for the field, before the edit (only when using <see cref="Ext.grid.plugin.CellEditing">CellEditing</see>)</li>
 /// <li>originalValues - The original values for the field, before the edit (only when using <see cref="Ext.grid.plugin.RowEditing">RowEditing</see>)</li>
 /// <li>newValues - The new values being set (only when using <see cref="Ext.grid.plugin.RowEditing">RowEditing</see>)</li>
 /// <li>view - The grid view (only when using <see cref="Ext.grid.plugin.RowEditing">RowEditing</see>)</li>
 /// <li>store - The grid store (only when using <see cref="Ext.grid.plugin.RowEditing">RowEditing</see>)</li>
 /// </ul>
 /// </param>
 /// <param name="eOpts"><p>The options object passed to <see cref="Ext.util.Observable.addListener">Ext.util.Observable.addListener</see>.</p>
 /// </param>
 public void edit(Editing editor, object e, object eOpts){}
 /// <summary>
 /// Fires before editing is triggered. Return false from event handler to stop the editing.
 /// </summary>
 /// <param name="editor">
 /// </param>
 /// <param name="e"><p>An edit event with the following properties:</p>
 /// <ul>
 /// <li>grid - The grid</li>
 /// <li>record - The record being edited</li>
 /// <li>field - The field name being edited</li>
 /// <li>value - The value for the field being edited.</li>
 /// <li>row - The grid table row</li>
 /// <li>column - The grid <see cref="Ext.grid.column.Column">Column</see> defining the column that is being edited.</li>
 /// <li>rowIdx - The row index that is being edited</li>
 /// <li>colIdx - The column index that is being edited</li>
 /// <li>cancel - Set this to true to cancel the edit or return false from your handler.</li>
 /// <li>originalValue - Alias for value (only when using <see cref="Ext.grid.plugin.CellEditing">CellEditing</see>).</li>
 /// </ul>
 /// </param>
 /// <param name="eOpts"><p>The options object passed to <see cref="Ext.util.Observable.addListener">Ext.util.Observable.addListener</see>.</p>
 /// </param>
 public void beforeedit(Editing editor, object e, object eOpts){}