Grid / Columns / Column- Editors
Column- Editors
 About Column Editors

The column editor is represented by a NColumnEditor derived object. When a data cell needs to be edited, it asks the column editor to create a data cell editor widget. Data cells editors are represented by widgets that derive from the base NDataCellEditor class (see Widget Elements for more info). You can think of the column editor as a factory for data cell editor widgets. The column editor is accessible from the NColumn.Editor property.

A column editor is automatically assigned to each column whenever the type of row values for that column becomes known. For NDataColumn instances an editor is assigned to the column when the column is bound to a data source field. The table below outlines the default row values type and column format associations (for example for a column of string row values, the NTextBoxColumnEditor is used).

The following table describes the available column editors in detail:

Editor Type  Description Created data cell editor Associated with types Can be edit types

Standard Editors

NCheckBoxColumnEditor A column editor that uses a check box to edit Boolean values. NCheckBoxDataCellEditor Boolean Boolean
NDateTimeBoxColumnEditor A column editor that uses a date time box to edit DateTime values. NDateTimeBoxDataCellEditor DateTime DateTime
NEnumComboBoxColumnEditor A column editor that uses a combo box to edit enum values. NComboBoxDataCellEditor Enums Enums
NNumericUpDownColumnEditor A column editor that uses a numeric up down to edit numeric values. NNumericUpDownDataCellEditor

Byte, UInt16, UInt32, ULong, Int16, Int32, Long, Float, Double, Decimal

Byte, UInt16, UInt32, ULong, Int16, Int32, Long, Float, Double, Decimal

NTextBoxColumnEditor A column editor that uses a text box to edit string values. NTextBoxDataCellEditor String String

Standard Style Editors

NColorBoxColumnEditor A column editor that uses a color box to edit NColor values. NColorBoxDataCellEditor NColor NColor
NFillSplitButtonColumnEditor A column editor that uses a fill split button to edit NFill values. NFillSplitButtonDataCellEditor NFill NFill
NShadowSplitButtonColumnEditor A column editor that uses a shadow split button to edit NShadow values. NShadowSplitButtonDataCellEditor NShadow NShadow
NStrokeSplitButtonColumnEditor A column editor that uses a stroke split button to edit NStroke values. NStrokeSplitButtonColumnEditor NStroke NStroke

Extended Editors

NSliderColumnEditor A column editor that creates a slider to edit numeric values. NSliderDataCellEditor none

Byte, UInt16, UInt32, ULong, Int16, Int32, Long, Float, Double, Decimal

 Data Cell Editors

As shown by the table above the purpose of the column editors is to create a data cell editor for the currently edited data cell. All data cell editors derive from the base NDataCellEditor class. The following image demonstrates the hierarchy of the data cell editors:

As you can see from the hierarchy, currently there are two base types for data cell editors:

  • NDataCellEditor - the base class for all data cell editors. Adds core support for getting and setting the edited value, as well as defines a clipboard data interface.
  • NGenericDataCellEditor<TValueEditor> - the base class for all currently implemented data cell editors. It integrates a value editor of the TValueEditor class. Furthermore this class adds support for null cell values editing. If the column with which the editor is associated accepts null values, this editor will display a null toggle button that will help the user to enter null values, like shown in the following image: