Skip to main content
All docs
V25.2
  • TreeListFilterBuilderTemplateContext.FilterCriteria Property

    Specifies filter criteria for TreeList data.

    Namespace: DevExpress.Blazor

    Assembly: DevExpress.Blazor.v25.2.dll

    NuGet Package: DevExpress.Blazor

    Declaration

    public CriteriaOperator FilterCriteria { get; set; }

    Property Value

    Type Description
    CriteriaOperator

    The current filter criteria.

    Remarks

    Specify a FilterBuilderTemplate to customize the filter builder dialog in the TreeList component. Implement two-way data binding between context.FilterCriteria and DxFilterBuilder.FilterCriteria properties to synchronize Filter Builder and TreeList components.

    Read Tutorial: Filter Panel and Filter Builder Run Demo: 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