Back to Devexpress

ITreeList Interface

blazor-devexpress-dot-blazor-e96c64dc.md

latest12.7 KB
Original Source

ITreeList Interface

An interface that defines DxTreeList component API members (properties and methods).

Namespace : DevExpress.Blazor

Assembly : DevExpress.Blazor.v25.2.dll

NuGet Package : DevExpress.Blazor

Declaration

csharp
public interface ITreeList

The following members return ITreeList objects:

Show 44 links

LibraryRelated API Members
XAF: Cross-Platform .NET App UI & Web APIDxTreeListEditor.TreeListInstance
BlazorITreeListCommandContext.TreeList
TreeListChildrenLoadingEventArgs.TreeList
TreeListColumnFooterTemplateContext.TreeList
TreeListColumnHeaderCaptionTemplateContext.TreeList
TreeListCommandColumnCellDisplayTemplateContext.TreeList
TreeListCommandColumnCellEditTemplateContext.TreeList
TreeListCommandColumnFilterRowCellTemplateContext.TreeList
TreeListCommandColumnHeaderTemplateContext.TreeList
TreeListCustomizeCellDisplayTextEventArgs.TreeList
TreeListCustomizeContextMenuEventArgs.TreeList
TreeListCustomizeDataRowEditorEventArgs.TreeList
TreeListCustomizeEditModelEventArgs.TreeList
TreeListCustomizeElementEventArgs.TreeList
TreeListCustomizeFilterMenuEventArgs.TreeList
TreeListCustomizeFilterRowEditorEventArgs.TreeList
TreeListCustomizeSummaryDisplayTextEventArgs.TreeList
TreeListCustomSortEventArgs.TreeList
TreeListCustomSummaryEventArgs.TreeList
TreeListDataColumnCellDisplayTemplateContext.TreeList
TreeListDataColumnCellEditTemplateContext.TreeList
TreeListDataColumnFilterMenuTemplateContext.TreeList
TreeListDataColumnFilterRowCellTemplateContext.TreeList
TreeListDataItemDeletingEventArgs.TreeList
TreeListDataRowCommandContext.TreeList
TreeListDragHintTextTemplateContext.TreeList
TreeListEditCancelingEventArgs.TreeList
TreeListEditFormTemplateContext.TreeList
TreeListEditModelSavingEventArgs.TreeList
TreeListEditStartEventArgs.TreeList
TreeListEmptyDataAreaTemplateContext.TreeList
TreeListFilterBuilderTemplateContext.TreeList
TreeListFilterCriteriaChangedEventArgs.TreeList
TreeListFocusedRowChangedEventArgs.TreeList
TreeListFooterCommandContext.TreeList
TreeListHeaderCommandContext.TreeList
TreeListItemsDroppedEventArgs.TreeList
TreeListPersistentLayoutEventArgs.TreeList
TreeListRowClickEventArgs.TreeList
TreeListSearchBoxTemplateContext.TreeList
TreeListSelectionColumnCellDisplayTemplateContext.TreeList
TreeListSelectionColumnFilterRowCellTemplateContext.TreeList
TreeListSelectionColumnHeaderTemplateContext.TreeList
TreeListToolbarTemplateContext.TreeList

Remarks

We recommend that you use the ITreeList interface when you access TreeList API members in any of the following cases:

  • You use the @ref attribute to reference a TreeList object. For example, you set or change values of the TreeList parameters outside the component’s markup.
  • You access a TreeList object from templates or event handlers.

In all other cases, bind your data to TreeList parameters.

Enclose your code between BeginUpdate() and EndUpdate() method calls if you change values of TreeList parameters outside the markup or to avoid excessive render operations. The following code snippet changes multiple sort options in the TreeList:

razor
@inject EmployeeTaskService EmployeeTaskService

<DxTreeList Data="TreeListData" KeyFieldName="Id" ParentKeyFieldName="ParentId" @ref="MyTreeList">
    <Columns>
        <DxTreeListDataColumn FieldName="Name" Caption="Task" SortIndex="0" />
        <DxTreeListDataColumn FieldName="EmployeeName" SortIndex="1" />
        <DxTreeListDataColumn FieldName="StartDate" />
        <DxTreeListDataColumn FieldName="DueDate" />
    </Columns>
</DxTreeList>


<DxButton Click="ChangeSortInfo" CssClass="my-button" Text="Change Sort Options" />

@code {
    ITreeList MyTreeList { get; set; }
    List<EmployeeTask> TreeListData { get; set; }

    protected override void OnInitialized() {
        TreeListData = EmployeeTaskService.GenerateData();
    }
    void ChangeSortInfo() {
        MyTreeList.BeginUpdate();
        MyTreeList.ClearSort();
        MyTreeList.SortBy("StartDate");
        MyTreeList.SortBy("DueDate", TreeListColumnSortOrder.Descending);
        MyTreeList.EndUpdate();
    }
}
css
.my-button {
    width: 200px;
}
csharp
public class EmployeeTask{
    public int Id { get; set; }
    public int ParentId { get; set; }
    public string Name { get; set; }
    public string EmployeeName { get; set; }
    public DateTime StartDate { get; set; }
    public DateTime DueDate { get; set; }

    public EmployeeTask(
        int id,
        int parentId,
        string name,
        string employeeName,
        DateTime startDate,
        DateTime dueDate
    )
    {
        Id = id;
        ParentId = parentId;
        Name = name;
        EmployeeName = employeeName;
        StartDate = startDate;
        DueDate = dueDate;
    }
}
csharp
public class EmployeeTaskService {
    public List<EmployeeTask> GenerateData() {
        return new List<EmployeeTask>() {
            new EmployeeTask(1, 0, "Simplify & Clarify Product Messaging", "John Heart", new DateTime(2018, 4, 3), new DateTime(2018, 4, 14)),
            new EmployeeTask(2, 1, "Prepare Financial Reports", "Samantha Bright", new DateTime(2018, 4, 3), new DateTime(2018, 4, 7)),
            new EmployeeTask(3, 1, "Prepare Marketing Plan", "Arthur Miller", new DateTime(2018, 4, 7), new DateTime(2018, 4, 14)),
            new EmployeeTask(4, 0, "Create Action Plan To Improve Customer Engagement", "Robert Reagan", new DateTime(2017, 8, 8), new DateTime(2018, 4, 8)),
            new EmployeeTask(5, 4, "Update Personnel Files", "Greta Sims", new DateTime(2017, 8, 8), new DateTime(2017, 10, 18)),
            new EmployeeTask(6, 4, "Review Health Insurance Options ", "Brett Wade", new DateTime(2017, 9, 27), new DateTime(2017, 11, 10)),
            new EmployeeTask(7, 4, "Choose Between PPO And HMO Health Plan", "Sandra Johnson", new DateTime(2017, 12, 13), new DateTime(2018, 3, 23)),
            new EmployeeTask(8, 4, "Update Google Adwords Strategy", "Ed Holmes", new DateTime(2017, 8, 23), new DateTime(2017, 12, 23)),
            new EmployeeTask(9, 4, "Create New Brochure Design", "Barb Banks", new DateTime(2018, 1, 3), new DateTime(2018, 3, 14)),
            new EmployeeTask(10, 4, "Obtain Price Quote For New Brochure", "Kevin Carter", new DateTime(2018, 2, 1), new DateTime(2018, 3, 15)),
            new EmployeeTask(11, 4, "Brochure Design Review", "Cindy Stanwick", new DateTime(2017, 8, 22), new DateTime(2017, 10, 28)),
            new EmployeeTask(12, 4, "Review Website Re-Design Strategy", "Sammy Hill", new DateTime(2017, 9, 16), new DateTime(2018, 3, 6)),
            new EmployeeTask(13, 4, "Rollout New Website", "Davey Jones", new DateTime(2017, 11, 7), new DateTime(2018, 2, 6)),
            new EmployeeTask(14, 4, "Update Sales/Marketing Strategy", "Victor Norris", new DateTime(2017, 12, 13), new DateTime(2018, 4, 2)),
            new EmployeeTask(15, 4, "Update Sales/Revenue Report", "Mary Stern", new DateTime(2017, 12, 25), new DateTime(2018, 4, 2)),
            new EmployeeTask(16, 4, "Direct Vs Online Sales Comparison Report", "Robin Cosworth", new DateTime(2018, 1, 2), new DateTime(2018, 3, 20)),
            new EmployeeTask(17, 4, "Review Sales Report and Approve Modifications", "Kelly Rodriguez", new DateTime(2017, 9, 4), new DateTime(2017, 10, 30)),
            new EmployeeTask(18, 4, "Update R&D Strategy", "James Anderson", new DateTime(2017, 11, 13), new DateTime(2017, 12, 4)),
            new EmployeeTask(19, 4, "Discuss Updated R&D Strategy", "Antony Remmen", new DateTime(2017, 10, 29), new DateTime(2017, 12, 31)),
            new EmployeeTask(20, 4, "Update QA Strategy", "Olivia Peyton", new DateTime(2017, 10, 31), new DateTime(2017, 11, 2)),
            new EmployeeTask(21, 4, "Schedule Training Events", "Taylor Riley", new DateTime(2017, 11, 19), new DateTime(2018, 4, 7)),
            new EmployeeTask(22, 4, "Approve The Hiring Of John Jeffers", "Amelia Harper", new DateTime(2018, 1, 7), new DateTime(2018, 4, 8)),
            new EmployeeTask(23, 0, "Increase Average Subscription Price ", "Wally Hobbs", new DateTime(2017, 8, 9), new DateTime(2017, 9, 13)),
            new EmployeeTask(24, 23, "Update Non-Compete Agreements", "Brad Jameson", new DateTime(2017, 8, 9), new DateTime(2017, 9, 3)),
            new EmployeeTask(25, 23, "Update Employee Records With New NDA", "Karen Goodson", new DateTime(2017, 8, 23), new DateTime(2018, 9, 10))
        };
    }
}
csharp
// ...
builder.Services.AddSingleton<EmployeeTaskService>();

See Also

ITreeList Members

DevExpress.Blazor Namespace