Log In
[Expand]General Information
[Collapse]WinForms Controls
 [Expand]What's Installed
 [Expand]Build an Application
 [Collapse]Controls and Libraries
  [Expand]Forms and User Controls
  [Expand]Messages, Notifications and Dialogs
  [Expand]Editors and Simple Controls
  [Expand]Ribbon, Bars and Menu
  [Expand]Application UI Manager
  [Expand]Docking Library
  [Collapse]Data Grid
   [Expand]Getting Started
   [Expand]Binding to Data
   [Expand]Grid View
   [Expand]View Technology
   [Collapse]Data Editing
    [Expand]Edit Form
    [Expand]Editing via Code
    [Collapse]In-place Editors
      In-place Editors Overview
      Assigning Editors for In-Place Editing
      Assigning Editors to Columns and Card Fields
      Assigning Editors to Individual Cells
      Showing and Hiding Editors
    [Expand]Input Validation
    [Expand]New Item Row
     Tutorial: Add or Remove Rows
     Tutorial: Data Input Validation
   [Expand]Filtering and Locating Rows
   [Expand]Focus and Selection Handling
   [Expand]Processing Rows
   [Expand]Formatting Cell Values
   [Expand]Master-Detail Relationships
   [Expand]Asynchronous Image Load
   [Expand]Export and Printing
   [Expand]Appearance and Conditional Formatting
   [Expand]Batch Modifications
   [Expand]Hit Information
   [Expand]Popup Menus
   [Expand]Saving and Restoring Layouts
   [Expand]Visual Elements
   [Expand]Design-Time Features
   [Expand]End-User Capabilities
    Included Components
  [Expand]Vertical Grid
  [Expand]Pivot Grid
  [Expand]Tree List
  [Expand]Chart Control
  [Expand]Map Control
  [Expand]Rich Text Editor
  [Expand]Spell Checker
  [Expand]Form Layout Managers
  [Expand]Navigation Controls
  [Expand]PDF Viewer
  [Expand]TreeMap Control
 [Expand]Common Features
  Get More Help
 [Expand]API Reference
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]WPF Controls
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Document Server
[Expand]Report Server
[Expand]eXpressApp Framework
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation

In-place Editors Overview

Expanded Online Videos

Expanded In-place Editors Overview

The grid control allows you to assign in-place editors to data cells to enable you to:

  • represent data in an appropriate manner in display mode (when editing is not active);
  • edit cell values in a specific manner/format, thus making it easy for end-users to input data.

The XtraEditors Library includes many editors that can be used for in-place editing. These include: TextEdit, ButtonEdit, DateEdit, CalcEdit, ProgressBar, LookUpEdit, etc. In addition, the Grid Control suite includes a dropdown GridLookUpEdit control that can also be embedded into a grid cell (this editor represents a lookup editor that is capable of displaying a Grid Control within its dropdown). Moreover, you can create a custom editor by deriving it from an existing one if none of the standard editors meet your requirements.

The image below illustrates a sample Grid View with different editors assigned to columns.


In the current version, any editor derived from the BaseEdit control can be used as an in-place editor. Third-party editors cannot be embedded.

Expanded Providing In-place Editors

To supply an in-place editor to a Grid View, a specific repository item must be created. A repository item is a RepositoryItem class descendant that stores properties and events related to a specific editor. It has all the information required for creating a corresponding fully functional editor. Refer to the Editors Class Structure.Editors Structure topic for additional information on this mechanism.

Before supplying a repository item to a grid control, the item must be added to an internal or external repository (repository item collections).
  • Internal Repository

    The internal repository contains editors that can only be used in the current grid control. It is not possible to use editors from this repository in other controls.

    You can add repository items to the internal repository using the grid control's EditorContainer.RepositoryItems property. At design time, use the grid control designer's Repository Editor page.

  • External Repository

    If you want to use the same editor (repository item) within several grid controls (or other container controls: XtraTreeList, XtraVerticalGrid, etc.), you need to use an external repository. It is represented by the PersistentRepository component.

    Create an external repository with specific in-place editors (repository items) and then bind it to the required controls. For instance, to bind it to a grid control, use the grid's EditorContainer.ExternalRepository property.

Data cells can use editors supplied by internal and external repositories. Please refer to the Repositories and Repository Items topic for additional information.

Expanded Methods of Supplying In-place Editors

Editors can be assigned to data cells using the following methods.

Note that these editor binding methods can be used in combination. This means you can provide editors for columns, and then override editor assignments for particular cells within those columns.

Expanded See Also

How would you rate this topic?​​​​​​​