# Editing Overview

The DataGrid provides support for editing, which can be enabled or disabled by setting the `UserEditMode` property. By default, editing is disabled and `UserEditMode` is set to `None`.

## UserEditMode

The DataGrid supports the following edit modes through the `UserEditMode` property.

* `Inline`—The user can edit the values by using the inline row editor.
* `External`—An external control is used for editing.
* `None`—Editing is not allowed.

You can control whether certain columns are editable by using the `CanUserEdit` property of the column, which takes precedence of the `UserEditMode` property.

**Inline Edit Mode**

![WinUI Grid Edit Modes](https://www.telerik.com/winui/documentation/assets/53ef23f4f5de26aca8cc09e5c78d66aa/grid-edit-modes.png)

## Programmatic Editing

The DataGrid also allows you to programmatically edit the data through the following methods:

* `BeginEdit(object item)`—Begins the edit operation for the specified data item.
* `CancelEdit()`—Cancels the current edit operation.
* `CommitEdit()`—Commits the current edit operation.

## Editing-Related Commands

The DataGrid also exposes the following commands that provide an entry point for the key points during an editing operation.

* [`BeginEdit`](https://www.telerik.com/winui/documentation/controls/raddatagrid/commands/editing-commands/datagrid-editingcommands-begineditcommand)
* [`CancelEdit`](https://www.telerik.com/winui/documentation/controls/raddatagrid/commands/editing-commands/datagrid-editingcommands-canceleditcommand)
* [`CommitEdit`](https://www.telerik.com/winui/documentation/controls/raddatagrid/commands/editing-commands/datagrid-editingcommands-commiteditcommand)

## See Also

* [Edit Operation](https://www.telerik.com/winui/documentation/controls/raddatagrid/editing/datagrid-editoperation)
