Skip to main content
All docs
V25.2
  • TreeListFilterBuilderTemplateContext.RenderDefaultFields() Method

    Returns filter fields automatically generated for the filter builder based on TreeList columns.

    Namespace: DevExpress.Blazor

    Assembly: DevExpress.Blazor.v25.2.dll

    NuGet Package: DevExpress.Blazor

    Declaration

    public RenderFragment RenderDefaultFields()

    Returns

    Type Description
    RenderFragment

    A collection of auto-generated filter fields (UI fragment) that the browser renders in the filter builder’s markup.

    Remarks

    The filter builder dialog is a centralized viewer/editor for TreeList component’s filter conditions. Users can edit and combine filter criteria applied to any number of columns, all within the same window. The TreeList automatically generates and configures available filter fields based on the following column settings:

    The filter field hierarchy is based on the column band hierarchy.

    Specify a FilterBuilderTemplate to customize the filter builder dialog. To use autogenerated fields in this template, call the context.RenderDefaultFields method within the Filter Builder component’s Fields tag.

    Read Tutorial: Filter Panel and Filter Builder Filter Builder Customization] –>

    Example

    The following code snippet customizes the filter builder dialog as follows:

    • Displays the applied filter condition above the Filter Builder component
    • Limits available logical operators to And and Or
    • Adds a Progress filter field
    @inject EmployeeTaskService EmployeeTaskService
    
    <DxTreeList @ref="TreeList" Data="TreeListData" KeyFieldName="Id" ParentKeyFieldName="ParentId" 
                FilterPanelDisplayMode="TreeListFilterPanelDisplayMode.Always">
        <Columns>
            <DxTreeListDataColumn FieldName="Name" Caption="Task" />
            <DxTreeListDataColumn FieldName="EmployeeName" />
            <DxTreeListDataColumn FieldName="StartDate" />
            <DxTreeListDataColumn FieldName="DueDate" />
            <DxTreeListDataColumn FieldName="Priority">
                <EditSettings>
                    <DxComboBoxSettings Data="Priorities" ValueFieldName="Value" TextFieldName="Text" />
                </EditSettings>
            </DxTreeListDataColumn>
        </Columns>
        <FilterBuilderTemplate>
            <b>Currently Applied Filter:</b> @(context.TreeList.GetFilterCriteria()?.ToString() ?? "No filter")
            <DxFilterBuilder @bind-FilterCriteria="context.FilterCriteria" 
                GroupOperatorTypes="[FilterBuilderGroupOperatorType.And, FilterBuilderGroupOperatorType.Or]">
                <Fields>
                    @context.RenderDefaultFields()
                    <DxFilterBuilderField FieldName="Status" Caption="Progress" Type="@typeof(int)">
                        <EditSettings>
                            <DxSpinEditSettings MinValue="0" MaxValue="100" />
                        </EditSettings>
                    </DxFilterBuilderField>
                </Fields>
            </DxFilterBuilder>
        </FilterBuilderTemplate>
    </DxTreeList>
    
    @code {
        ITreeList TreeList { get; set; }
        List<EmployeeTask> TreeListData { get; set; }
    
        record Priority(int Value, string Text);
        static readonly IReadOnlyList<Priority> Priorities = new Priority[] {
            new Priority(-1, "Low"),
            new Priority(0, "Medium"),
            new Priority(1, "High"),
        };
    
        protected override void OnInitialized() {
            TreeListData = EmployeeTaskService.GenerateData();
        }
    }
    

    DevExpress Blazor TreeList - Filter Builder Template

    See Also