Skip to main content
All docs
V25.2
  • ITreeListCommandContext.TreeList Property

    Returns the TreeList object.

    Namespace: DevExpress.Blazor

    Assembly: DevExpress.Blazor.v25.2.dll

    NuGet Package: DevExpress.Blazor

    Declaration

    ITreeList TreeList { get; }

    Property Value

    Type Description
    ITreeList

    The TreeList object.

    Remarks

    Use this property to access the TreeList and its extensive API in the CustomizeContextMenu event handler.

    The following code snippet customizes commands available in the header context menu:

    @inject EmployeeTaskService EmployeeTaskService
    
    <DxTreeList Data="TreeListData"
                KeyFieldName="Id"
                ParentKeyFieldName="ParentId"
                ContextMenus="TreeListContextMenus.Header"
                CustomizeContextMenu="CustomizeContextMenu">
        <Columns>
            <DxTreeListSelectionColumn Width="80px" />
            <DxTreeListDataColumn FieldName="Name" Caption="Task" ShowInColumnChooser="false"/>
            <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 CustomizeContextMenu(TreeListCustomizeContextMenuEventArgs args) {
            if (args.Context is TreeListHeaderCommandContext headerContext) {
                // Customizes context menu commands for the Task column header
                if (headerContext.Column is ITreeListDataColumn dataColumn && dataColumn.Caption == "Task") {
                    args.Items.Remove(TreeListContextMenuDefaultItemNames.HideColumn);
                }
                // Customizes context menu commands for the selection column header
                if (headerContext.Column is ITreeListSelectionColumn selectionColumn) {
                    var isFixed = selectionColumn.FixedPosition != TreeListColumnFixedPosition.None;
                    string itemText = isFixed ? "Unfix Column" : "Fix Column to the Left";
                    var newValue = isFixed ? TreeListColumnFixedPosition.None : TreeListColumnFixedPosition.Left;
    
                    args.Items.AddCustomItem(itemText, () => {
                        headerContext.TreeList.BeginUpdate();
                        headerContext.Column.FixedPosition = newValue;
                        headerContext.TreeList.EndUpdate();
                    });
                }
            }
        }
    }
    
    See Also