Grid / Columns / Column- Editors
In This Topic
    Column- Editors
    In This Topic
     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: