{/* Do not edit this file. It is automatically generated by API Documenter. */}


## EditOptions

Configuration model for data editing in grid

**Signature:**

```typescript
export interface EditOptions
```

## Remarks

When setting it as an option in [Grid](/refs/Class/GridBase), you only need to enter the necessary information.

## Example


```js
grid.setEditOptions({editable: false});
```

## Properties

| Property | Type | Description |
| --- | --- | --- |
| [appendable](/refs/Interface/EditOptions#appendable) | boolean | Whether rows can be added |
| [appendWhenExitLast](/refs/Interface/EditOptions#appendwhenexitlast) | boolean | Whether to add rows when leaving the last cell with Tab or Enter |
| [appendWhenInsertKey](/refs/Interface/EditOptions#appendwheninsertkey) | boolean | Whether to add a row at the end with the Insert key |
| [buttonClickWhenSpace](/refs/Interface/EditOptions#buttonclickwhenspace) | boolean | **_(ALPHA)_** |
| [cancelWhenLastUndo](/refs/Interface/EditOptions#cancelwhenlastundo) | boolean | Is it possible to cancel editing |
| [checkable](/refs/Interface/EditOptions#checkable) | boolean | Whether the Checked status of a row can be changed |
| [checkCellDiff](/refs/Interface/EditOptions#checkcelldiff) | boolean | Whether to check the status change when the actual value is changed upon completion of cell editing |
| [checkDiff](/refs/Interface/EditOptions#checkdiff) | boolean | Whether to check the status change when the actual cell is changed upon completion of row editing |
| [columnEditableFirst](/refs/Interface/EditOptions#columneditablefirst) | boolean | Change application order of column.editable and editOptions.editable |
| [commitByCell](/refs/Interface/EditOptions#commitbycell) | boolean | Whether to commit after cell-level modification |
| [commitEditingMessage](/refs/Interface/EditOptions#commititingmessage) | string | Message displayed when deleting the row being edited |
| [commitLevel](/refs/Interface/EditOptions#commitlevel) | [ValidationLevel](/refs/realgrid#validationlevel) | The highest ValidationLvel at which row editing can be completed |
| [commitWhenExitLast](/refs/Interface/EditOptions#commitwhenexitlast) | boolean | Whether to commit a row when leaving a cell with the Tab or Enter key |
| [commitWhenLeave](/refs/Interface/EditOptions#commitwhenleave) | boolean | Whether to commit the grid when focus leaves the grid |
| [commitWhenNoEdit](/refs/Interface/EditOptions#commitwhennoedit) | boolean | Whether to commit even if the cell is not edited |
| [confirmWhenDelete](/refs/Interface/EditOptions#confirmwhendelete) | boolean | Whether to call a dialog box asking whether to delete |
| [crossWhenExitLast](/refs/Interface/EditOptions#crosswhenexitlast) | boolean | Whether to move to the next row when leaving the last cell with Tab or Enter key |
| [currentChangingFirst](/refs/Interface/EditOptions#currentchangingfirst) | boolean | Execution order of commitEdit and [GridBase.onCurrentChanging](/refs/Class/GridBase#oncurrentchanging){/* */} |
| [deletable](/refs/Interface/EditOptions#deletable) | boolean | Whether rows can be deleted |
| [deletableWhenEdit](/refs/Interface/EditOptions#deletablewhenedit) | boolean | When editing a cell, whether it is possible to delete the selected row after canceling editing |
| [deleteRowsMessage](/refs/Interface/EditOptions#deleterowsmessage) | string | Message to display in delete dialog box |
| [displayEmptyEditRow](/refs/Interface/EditOptions#displayemptyeditrow) | boolean | Whether to always add an empty row at the end of the grid's rows |
| [editable](/refs/Interface/EditOptions#editable) | boolean | Whether grid data can be modified |
| [editWhenClickFocused](/refs/Interface/EditOptions#editwhenclickfocused) | boolean | Whether to display the editor when clicking on a selected cell |
| [editWhenFocused](/refs/Interface/EditOptions#editwhenfocused) | boolean | Whether to display the editor when cell is focused |
| [enterToEdit](/refs/Interface/EditOptions#entertoedit) | boolean | When the focused cell is not in the editing state, pressing the Enter key changes it to the editing state. |
| [enterToNextCell](/refs/Interface/EditOptions#entertonextcell) | boolean | When you press Enter, you move to the next cell. |
| [enterToNextRow](/refs/Interface/EditOptions#entertonextrow) | boolean | Whether to complete editing and move to the next row when you press Enter while editing a cell |
| [enterToTab](/refs/Interface/EditOptions#entertotab) | boolean | Whether or not to complete editing and move to the next cell when you press Enter while editing a cell |
| [erasable](/refs/Interface/EditOptions#erasable) | boolean | Whether or not cells included in the selection can be deleted |
| [exceptDataClickWhenButton](/refs/Interface/EditOptions#exceptdataclickwhenbutton) | boolean | Whether [GridBase.onCellClicked](/refs/Class/GridBase#oncellclicked) occurs when a cellButton or renderer item is clicked |
| [exitGridWhenTab](/refs/Interface/EditOptions#exitgridwhentab) | [ExitGridWhenTab](/refs/realgrid#exitgridwhentab) | Whether to leave the grid when pressing the tab key |
| [firstCellWhenInsert](/refs/Interface/EditOptions#firstcellwheninsert) | boolean | **_(ALPHA)_** |
| [focusMoveStep](/refs/Interface/EditOptions#focusmovestep) | [FocusMoveStep](/refs/realgrid#focusmovestep) | When you input the left or right arrow, the focus moves by cell or group. |
| [forceAppend](/refs/Interface/EditOptions#forceappend) | boolean | Whether to always commit in Appending state even if there are no changes |
| [forceInsert](/refs/Interface/EditOptions#forceinsert) | boolean | Whether to always commit in the inserting state even if there are no changes |
| [hintOnError](/refs/Interface/EditOptions#hintonerror) | boolean | Whether to display an error hint tooltip when the mouse is placed on a cell with an error during editing |
| [insertable](/refs/Interface/EditOptions#insertable) | boolean | Whether rows can be inserted |
| [invalidFormatMessage](/refs/Interface/EditOptions#invalidformatmessage) | string | Error message to be displayed when it is not in the format specified by mask |
| [maxLengthToNextCell](/refs/Interface/EditOptions#maxlengthtonextcell) | boolean | Whether to move to the next cell when the specified number of digits are entered |
| [movable](/refs/Interface/EditOptions#movable) | boolean | Is it possible to move rows |
| [movableWhenFocusedOnly](/refs/Interface/EditOptions#movablewhenfocusedonly) | boolean | Whether to move rows only in the cell with focus |
| [readOnly](/refs/Interface/EditOptions#readonly) | boolean | Whether to prohibit modifying the values of data cells at the grid level |
| [revertable](/refs/Interface/EditOptions#revertable) | boolean | Is it possible to cancel deletion |
| [scrollOnEditing](/refs/Interface/EditOptions#scrollonediting) | [ScrollOnEditing](/refs/realgrid#scrollonediting) | Processing when scrolling while editing |
| [showCommitError](/refs/Interface/EditOptions#showcommiterror) | boolean | Whether to show when a commit error occurs |
| [showErrorIcon](/refs/Interface/EditOptions#showerroricon) | boolean | Whether to show the error icon |
| [showInvalidFormatMessage](/refs/Interface/EditOptions#showinvalidformatmessage) | boolean | Whether to display an error message when the format is not specified in mask |
| [showOnlyValidationMessage](/refs/Interface/EditOptions#showonlyvalidationmessage) | boolean | Whether to show only the set Validation Error message |
| [skipReadOnly](/refs/Interface/EditOptions#skipreadonly) | boolean | Whether to skip readOnly cells when moving between columns. |
| [skipReadOnlyCell](/refs/Interface/EditOptions#skipreadonlycell) | boolean | Whether to skip readOnly cells when moving between rows in one column. |
| [strictDiff](/refs/Interface/EditOptions#strictdiff) | boolean | Whether to check whether the actual value has changed when editing a cell by judging it strictly (the data type must also be the same) |
| [updatable](/refs/Interface/EditOptions#updatable) | boolean | Whether grid data can be modified |
| [useArrowKeys](/refs/Interface/EditOptions#usearrowkeys) | boolean | Whether it is possible to move cells with the arrow keys |
| [useTabKey](/refs/Interface/EditOptions#usetabkey) | boolean | Whether cells can be moved using the Tab key |
| [validateOnEdited](/refs/Interface/EditOptions#validateonedited) | boolean | Whether to execute column validation when cell editing is completed |
| [validateOnExit](/refs/Interface/EditOptions#validateoneexit) | boolean | |
| [verticalMoveStep](/refs/Interface/EditOptions#verticalmovestep) | [VerticalMoveStep](/refs/realgrid#verticalmovestep) | How to operate when moving a column cell in a column group up or down |

## Properties Desc

### appendable

Can rows be added?

`Type` - boolean

**Remarks:**

Can be added using the arrow keys in the last row of the grid

<hr/>

### appendWhenExitLast

Whether to add rows when leaving the last cell with Tab or Enter

`Type` - boolean

**Remarks:**

commitWhenExitLast must be true.

<hr/>

### appendWhenInsertKey

Whether to add a row at the end with the Insert key

`Type` - boolean

<hr/>

### buttonClickWhenSpace

`Type` - boolean

<hr/>

### cancelWhenLastUndo

Can you cancel editing?

`Type` - boolean

<hr/>

### checkable

Whether the Checked state of a row can be changed

`Type` - boolean

**Remarks:**

When `true`, it can be changed by clicking the CheckBar Cell.

<hr/>

### checkCellDiff

Whether to check the status change when the actual value is changed upon completion of cell editing

`Type` - boolean

**Remarks:**

If `true`{/* */}, when requesting completion of cell editing, there must be at least one actual changed value to be completed. Otherwise it is ignored. If `false`, the row will be in a changed state if there was a user editing action, regardless of whether the actual value was changed.

<hr/>

### checkDiff

Whether to check the status change when the actual cell is changed upon completion of row editing

`Type` - boolean

**Remarks:**

When `true`, when a row edit completion request is completed, there must be at least one cell that has actually been changed. Otherwise it is ignored. When `false`, regardless of whether the actual value has changed, if there has been a user editing action, the row will be in a changed state.

<hr/>

### columnEditableFirst

Change application order of column.editable and editOptions.editable

`Type` - boolean

**Remarks:**

If `true`{/* */}, editOptions.editable is ignored if column.editable is set.

<hr/>

### commitByCell

Whether to commit after cell-level modification

`Type` - boolean

<hr/>

### commitEditingMessage

Message displayed when deleting the row being edited

`Type` - string

**Remarks:**

Displayed when [EditOptions.deletableWhenEdit](/refs/Interface/EditOptions#deletablewhenedit){/* */} is `false`{/* */}.

<hr/>

### commitLevel

The highest ValidationLvel at which row editing can be completed.

`Type` - [ValidationLevel](/refs/realgrid#validationlevel)

<hr/>

### commitWhenExitLast

Whether to commit the row when leaving the cell with the Tab or Enter key

`Type` - boolean

<hr/>

### commitWhenLeave

Whether to commit the grid when focus leaves the grid

`Type` - boolean

<hr/>

### commitWhenNoEdit

Whether to commit even if the cell is not edited

`Type` - boolean

<hr/>

### confirmWhenDelete

Whether to call a dialog asking whether to delete or not

`Type` - boolean

**Remarks:**

If true, when deleting a user or executing [deleteSelection()](/refs/Class/GridBase#deleteselection), a dialog box asking whether to delete is called first. When called with GridView.deleteSelection(true), it is deleted immediately without displaying a dialog box.

<hr/>

### crossWhenExitLast

Whether to move to the next row when leaving the last cell with Tab or Enter key

`Type` - boolean

<hr/>

### currentChangingFirst

Execution order of commitEdit and [GridBase.onCurrentChanging](/refs/Class/GridBase#oncurrentchanging){/* */}

`Type` - boolean

**Remarks:**

If `true`{/* */}, the onCurrentChanging event is executed before the grid's commitEdit.

<hr/>

### deletable

Can rows be deleted?

`Type` - boolean

**Remarks:**

When `true`, the user can delete the currently selected row by pressing the Ctrl+Del keys or calling [deleteSelection()](/refs/Class/GridBase#deleteselection). If you call it with `deleteSelection(true)`, it can be deleted regardless of the option.

<hr/>

### deletableWhenEdit

When editing a cell, whether it is possible to delete the selected row after canceling the edit.

`Type` - boolean

<hr/>

### deleteRowsMessage

Message to display in delete dialog box

`Type` - string

<hr/>

### displayEmptyEditRow

Whether to always add an empty row at the end of grid rows

`Type` - boolean

**Remarks:**

When data is entered into the blank row and row commit() occurs, the blank row is added again.

<hr/>

### editable

Whether data in the grid can be modified

`Type` - boolean

**Remarks:**

The readOnly value specified in each column must also be false to be modified.

<hr/>

### editWhenClickFocused

Whether to display the editor when clicking on a selected cell

`Type` - boolean

<hr/>

### editWhenFocused

Whether to display the editor when focusing on a cell

`Type` - boolean

<hr/>

### enterToEdit

When the focused cell is not in the editing state, pressing the Enter key changes it to the editing state.

`Type` - boolean

**Remarks:**

If enterToNextRow is `true`, it moves to the next `row`{/* */} without changing to the editing state.

<hr/>

### enterToNextCell

When you press Enter, you move to the next cell.

`Type` - boolean

<hr/>

### enterToNextRow

Whether to complete editing and move to the next row when you press Enter while editing a cell.

`Type` - boolean

<hr/>

### enterToTab

Whether to complete editing and move to the next cell when you press Enter while editing a cell.

`Type` - boolean

**Remarks:**

Move to next row when enterToNextRow == true

<hr/>

### erasable

Whether cells included in the selection can be deleted

`Type` - boolean

<hr/>

### exceptDataClickWhenButton

Whether [GridBase.onCellClicked](/refs/Class/GridBase#oncellclicked) occurs when a cellButton or renderer item is clicked.

`Type` - boolean

**Remarks:**

If `true`{/* */}, the `onCellClicked`{/* */} event does not occur.

<hr/>

### exitGridWhenTab

Whether to leave the grid when pressing the tab key

`Type` - [ExitGridWhenTab](/refs/realgrid#exitgridwhentab)

<hr/>

### firstCellWhenInsert

`Type` - boolean

<hr/>

### focusMoveStep

When you input the left or right arrow, the focus moves by cell or group.

`Type` - [FocusMoveStep](/refs/realgrid#focusmovestep)

**Remarks:**

If `group`{/* */}, the focus moves to the highest group unit.

<hr/>

### forceAppend

Whether to always commit in Appending state even if there are no changes

`Type` - boolean

<hr/>

### forceInsert

Whether to always commit in the inserting state even if there are no changes

`Type` - boolean

<hr/>

### hintOnError

Whether to display an error hint tooltip when the mouse is placed on a cell with an error during editing

`Type` - boolean

<hr/>

### insertable

Whether rows can be inserted

`Type` - boolean

**Remarks:**

When `true`, rows can be inserted by pressing the Insert key.

<hr/>

### invalidFormatMessage

Error message to display when it is not in the format specified by mask

`Type` - string

<hr/>

### maxLengthToNextCell

Whether to move to the next cell when the specified number of digits are entered.

`Type` - boolean

**Remarks:**

When the number of digits specified in column.editor.maxLength is entered, it moves to the next cell. If editFormat is present, maxLength is checked based on the displayed characters. (numberEditor, dateEditor) In the case of multiLine, control characters such as `\n`{/* */} are also included in the number of characters. if editOptions.skipReadOnly is true Cells that are readOnly are skipped.

<hr/>

### movable

Is it possible to move a row?

`Type` - boolean

**Remarks:**

If it is in a sorted state, it cannot be moved. In the case of a tree, movement is possible only within the same node.

<hr/>

### movableWhenFocusedOnly

포커스를 가진 셀 에서만 행 이동 여부

`Type` - boolean

**Remarks:**

movable 이 true 여야 한다.

<hr/>

### readOnly

Whether to prevent modification of values in data cells at the grid level

`Type` - boolean

**Remarks:**

The readOnly value specified in each column must also be false to be modified.

<hr/>

### revertable

Is it possible to cancel deletion?

`Type` - boolean

**Remarks:**

If [dataProvider.softDeleting](/refs/Class/DataProviderBase#softdeleting) == true, rows in the deleted state can be returned to their original state by pressing the ctrl+shift+del keys.

<hr/>

### scrollOnEditing

Processing when scrolling while editing

`Type` - [ScrollOnEditing](/refs/realgrid#scrollonediting)

<hr/>

### showCommitError

Whether to show when a commit error occurs

`Type` - boolean

<hr/>

### showErrorIcon

Whether to display an error icon

`Type` - boolean

<hr/>

### showInvalidFormatMessage

Whether to show an error message when it is not in the format specified by mask.

`Type` - boolean

<hr/>

### showOnlyValidationMessage

Whether to show only the set Validation Error message

`Type` - boolean

**Remarks:**

If `true`{/* */}, only the `message`{/* */} of validation is shown. If false, `level`{/* */} and `message`{/* */} are shown simultaneously. . To change the `message`{/* */} on a per-cell basis, see [GridBase.onValidationFail](/refs/Class/GridBase#onvalidationfail){/* */}

<hr/>

### skipReadOnly

Whether to skip readOnly cells when moving between columns.

`Type` - boolean

<hr/>

### skipReadOnlyCell

Whether to skip readOnly cells when moving between rows in one column.

`Type` - boolean

<hr/>

### strictDiff

Whether to check whether the actual value has changed when editing a cell by judging it strictly (data type must also be the same)

`Type` - boolean

**Remarks:**

If `true`, when requesting completion of cell editing, there must be at least one actual changed value to be completed. Otherwise it is ignored. If `false`, the row will be in a changed state if there was a user editing action, regardless of whether the actual value was changed.

<hr/>

### updatable

Whether data in the grid can be modified

`Type` - boolean

**Remarks:**

If `true`, data in the grid can be modified. If `false`, existing data cannot be modified, and only newly added rows before [commit()](/refs/Class/GridBase#commit) can be modified.

<hr/>

### useArrowKeys

Is it possible to move cells using the direction keys?

`Type` - boolean

<hr/>

### useTabKey

Whether cells can be moved using the Tab key

`Type` - boolean

<hr/>

### validateOnEdited

Whether to execute column validation when cell editing is completed

`Type` - boolean

<hr/>

### validateOnExit

> Warning: This API is now obsolete.
>
> Whether to perform column validation when leaving a cell
>

`Type` - boolean

<hr/>

### verticalMoveStep

How to operate when moving a column cell in a column group up or down

`Type` - [VerticalMoveStep](/refs/realgrid#verticalmovestep)

**Remarks:**

It is 'row' or 'cell'.

<hr/>