ASPxGridListEditor.CreateCustomDataItemTemplate Event

Occurs when the GridViewDataColumn.DataItemTemplate is initialized.

Namespace: DevExpress.ExpressApp.Web.Editors.ASPx

Assembly: DevExpress.ExpressApp.Web.v18.2.dll

Declaration

public event EventHandler<CreateCustomDataItemTemplateEventArgs> CreateCustomDataItemTemplate
Public Event CreateCustomDataItemTemplate As EventHandler(Of CreateCustomDataItemTemplateEventArgs)

The CreateCustomDataItemTemplate event handler receives an argument of the CreateCustomDataItemTemplateEventArgs type. The following properties provide information specific to this event.

Property Description
CreateDefaultDataItemTemplate Specifies if the default data item template should be created.
DataItemTemplateInfoProvider Gets the object that provides info on the GridViewDataColumn.DataItemTemplate.
ModelColumn Gets the Application Model settings of the column.
Template Specifies a template that is used to display a data cell or edit cell.

This event is triggered when the GridViewDataColumn.DataItemTemplate is null (Nothing in VB) and the column does not display "Protected Content". To specify a custom ITemplate, handle this event, pass the custom ITemplate object to the handler's CreateCustomItemTemplateEventArgs.Template parameter and set the Handled parameter to true. If you set Handled to true and do not initialize Template, the default column behavior will be used (the Object.ToString values will be displayed).

using DevExpress.ExpressApp;
using DevExpress.ExpressApp.Web.Editors.ASPx;
// ...
public class CreateCustomDataItemTemplateController : ObjectViewController<ListView, Person> {
    protected override void OnActivated() {
        base.OnActivated();
        ASPxGridListEditor listEditor = (ASPxGridListEditor)View.Editor;
        listEditor.CreateCustomDataItemTemplate += listEditor_CreateCustomDataItemTemplate;
    }
    private void listEditor_CreateCustomDataItemTemplate(
        object sender, CreateCustomDataItemTemplateEventArgs e) {
        // ...
        e.Handled = true;
    }
    protected override void OnDeactivated() {
        base.OnDeactivated();
        ASPxGridListEditor listEditor = (ASPxGridListEditor)View.Editor;
        listEditor.CreateCustomDataItemTemplate -= listEditor_CreateCustomDataItemTemplate;
    }
}
Important

You should subscribe to this event before the View.ControlsCreated event occurs (e.g., in the overridden OnActivated method of a custom Controller). It is too late to customize columns when the grid control has already been created.

See Also