Skip to main content
All docs
V25.1
  • DxTreeList.GetColumnEditSettings<T>(String) Method

    Returns editor settings of the column bound to the specified data source field.

    Namespace: DevExpress.Blazor

    Assembly: DevExpress.Blazor.v25.1.dll

    NuGet Package: DevExpress.Blazor

    Declaration

    public T GetColumnEditSettings<T>(
        string fieldName
    )
        where T : class, IEditSettings

    Parameters

    Name Type Description
    fieldName String

    A data source field name.

    Type Parameters

    Name Description
    T

    An editor setting type.

    Returns

    Type Description
    T

    An object that contains editor settings.

    Remarks

    The TreeList component generates and configures cell editors for columns based on associated data types. The component automatically displays column editors in the filter row and data rows during edit operations. You can also place these editors in the inline or pop-up edit form.

    Edit and Filter Rows

    The TreeList allows you to access and customize editor settings at runtime. To get editor settings, pass a setting type and the corresponding data source field name to the GetColumnEditSettings method. The method returns null in the following cases:

    • The TreeList does not have a column bound to the specified field.
    • Editor settings of the column bound to the specified field are of a different type.

    Note

    Editors, their settings, and types can change after you bind the TreeList or its column to another data source. If the TreeList is bound to an asynchronous data source, editor types can change during TreeList initialization. If the TreeList is bound to server-mode data or loads data on demand, editor types can also change after the TreeList loads child nodes.

    The following code snippet enables an editor in the edit row for new rows only:

    Date Edit in TreeList

    @inject EmployeeTaskService EmployeeTaskService
    
    <DxTreeList Data="TreeListData"
                KeyFieldName="Id"
                ParentKeyFieldName="ParentId"
                EditModelSaving="TreeList_EditModelSaving"
                DataItemDeleting="TreeList_DataItemDeleting"
                CustomizeEditModel="TreeList_CustomizeEditModel"
                EditStart="TreeList_EditStart">
        <Columns>
            <DxTreeListCommandColumn />
            <DxTreeListDataColumn FieldName="Name" Caption="Task" />
            <DxTreeListDataColumn FieldName="EmployeeName" />
            <DxTreeListDataColumn FieldName="StartDate" />
            <DxTreeListDataColumn FieldName="DueDate" />
        </Columns>
    </DxTreeList>
    
    @code {
        List<EmployeeTask> TreeListData { get; set; }
    
        protected override void OnInitialized() {
            TreeListData = EmployeeTaskService.GenerateData();
        }
        void TreeList_EditStart(TreeListEditStartEventArgs e) {
            var settingsStartDate = e.TreeList.GetColumnEditSettings<IDateEditSettings>("StartDate");
            if (settingsStartDate != null) {
                e.TreeList.BeginUpdate();
                settingsStartDate.Enabled = e.IsNew;
                settingsStartDate.ShowDropDownButton = e.IsNew;
                e.TreeList.EndUpdate();
            }
        }
        void TreeList_CustomizeEditModel(TreeListCustomizeEditModelEventArgs e) {
            if (e.IsNew) {
                var newTask = (EmployeeTask)e.EditModel;
                newTask.Id = TreeListData.Max(x => x.Id) + 1;
                if (e.ParentDataItem != null)
                    newTask.ParentId = ((EmployeeTask)e.ParentDataItem).Id;
            }
        }
        async Task TreeList_EditModelSaving(TreeListEditModelSavingEventArgs e) {
            if (e.IsNew)
                TreeListData.Add((EmployeeTask)e.EditModel);
            else
                e.CopyChangesToDataItem();
        }
        async Task TreeList_DataItemDeleting(TreeListDataItemDeletingEventArgs e) {
            TreeListData.Remove((EmployeeTask)e.DataItem);
        }
    }
    

    Handle the TreeList’s CustomizeFilterRowEditor event to customize editors in the filter row. The CustomizeDataRowEditor event allows you to customize editors displayed in data rows, inline, or pop-up edit forms.

    See Also