Skip to main content
A newer version of this page is available. .
Tag

ColumnBase.CellEditTemplate Property

Gets or sets a template that displays a custom editor used to edit column values. This is a dependency property.

Namespace: DevExpress.Xpf.Grid

Assembly: DevExpress.Xpf.Grid.v18.2.Core.dll

Declaration

public DataTemplate CellEditTemplate { get; set; }

Property Value

Type Description
DataTemplate

A ControlTemplate object that represents the template that displays a custom editor.

Remarks

The binding source for the CellEditTemplate template is represented by the GridCellData class.

In-place editors are used for both presenting data and editing records. You can use separate in-place editors for both tasks. Each column provides two templates that allow you to define custom editors that display (when the grid is in browse mode) and/or edit (when the grid is in edit mode) column values:

Template Description
ColumnBase.CellDisplayTemplate / DataViewBase.CellDisplayTemplate Defines a template that displays column values.
ColumnBase.CellEditTemplate / DataViewBase.CellEditTemplate Defines a template that represents an editor used to edit cell values.

In the following code sample, a numeric column uses the ProgressBarEdit editors to display data. When end users focus cells, the TrackBarEdit editors replace progress bars:

<dxg:GridControl>
    <!-- ... -->
    <dxg:GridColumn FieldName="UnitsOnOrder">
        <dxg:GridColumn.CellDisplayTemplate>
            <DataTemplate>
                <dxe:ProgressBarEdit Name="PART_Editor" Minimum="0" Maximum="50" />
            </DataTemplate>
        </dxg:GridColumn.CellDisplayTemplate>
        <dxg:GridColumn.CellEditTemplate>
            <DataTemplate>
                <dxe:TrackBarEdit Name="PART_Editor" Minimum="0" Maximum="50" />
            </DataTemplate>  
        </dxg:GridColumn.CellEditTemplate>
    </dxg:GridColumn>
    <!-- ... -->   
</dxg:GridControl>

Tip

Tip

A template that defines the presentation of data cells is specified by the CellEditTemplate property. If you have more than one template that can be used to render cells, you can implement custom logic to choose the required template. To do this, derive from the DataTemplateSelector class, implement the SelectTemplate method that returns a template which meets the required condition, and assign it to the ColumnBase.CellEditTemplateSelector property.

If both the CellDisplayTemplate and ColumnBase.CellEditTemplateSelector are specified, a cell is rendered using the template returned by the template selector. If the template selector returns null, the template specified by the CellEditTemplate property is used.

The following code snippets (auto-collected from DevExpress Examples) contain references to the CellEditTemplate property.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

See Also