Skip to main content
All docs
V25.2
  • DxGrid.ShowFilterBuilder() Method

    Opens the filter builder dialog.

    Namespace: DevExpress.Blazor

    Assembly: DevExpress.Blazor.v25.2.dll

    Declaration

    public void ShowFilterBuilder()

    Remarks

    The filter builder dialog is a centralized viewer/editor for Grid component’s filter conditions. Users can edit and combine filter criteria applied to any number of columns, all within the same window.

    DevExpress Blazor Grid - Built-in Filter Builder Dialog

    Read Tutorial: Filter Panel and Filter Builder Run Demo: Filter Builder Customization

    To open this dialog, users can click the current filter region in the filter panel. Call the ShowFilterBuilder method to open this dialog from code.

    The following code snippet creates a toolbar button that opens the filter builder dialog:

    @inject NwindDataService NwindDataService
    
    <DxGrid @ref="Grid"
            Data="Data"
            FilterMenuButtonDisplayMode="GridFilterMenuButtonDisplayMode.Always"
            FilterPanelDisplayMode="GridFilterPanelDisplayMode.Always">
        <Columns>
            <DxGridDataColumn FieldName="SalesPerson" Caption="Salesperson" />
            <DxGridBandColumn Caption="Order">
                <Columns>
                    <DxGridDataColumn FieldName="CompanyName" />
                    <DxGridDataColumn FieldName="OrderDate" Caption="Date" />
                    <DxGridBandColumn Caption="Product">
                        <Columns>
                            <DxGridDataColumn FieldName="ProductName" Caption="Name" />
                            <DxGridDataColumn FieldName="UnitPrice" DisplayFormat="c"
                                              CaptionAlignment="GridTextAlignment.Right" />
                        </Columns>
                    </DxGridBandColumn>
                    <DxGridDataColumn FieldName="Quantity" />
                </Columns>
            </DxGridBandColumn>
        </Columns>
        <ToolbarTemplate>
            <DxToolbar ItemRenderStyleMode="ToolbarRenderStyleMode.Contained">
                <Items>
                    <DxToolbarItem Alignment="ToolbarItemAlignment.Right"
                                   Text="Filter Builder" RenderStyle="ButtonRenderStyle.Secondary"
                                   Click="() => Grid.ShowFilterBuilder()"  />
                </Items>
            </DxToolbar>
        </ToolbarTemplate>
    </DxGrid>
    
    
    @code {
        object Data { get; set; }
        IGrid Grid { get; set; }
    
        protected override async Task OnInitializedAsync() {
            var invoices = await NwindDataService.GetInvoicesAsync();
            var customers = await NwindDataService.GetCustomersAsync();
            Data = invoices.OrderBy(i => i.OrderDate).Join(customers, i => i.CustomerId, c => c.CustomerId,
                (i, c) => { return new {
                    CompanyName = c.CompanyName,
                    SalesPerson = i.Salesperson,
                    UnitPrice = i.UnitPrice,
                    OrderDate = i.OrderDate,
                    ProductName = i.ProductName,
                    Quantity = i.Quantity
                };
            });
        }
        protected override Task OnAfterRenderAsync(bool firstRender) {
            if (firstRender)
                Grid.SetFilterCriteria(CriteriaOperator.Parse("[UnitPrice] > 100M" +
                                                      "And ([SalesPerson] In ('Robert King', 'Andrew Fuller')" +
                                                      "Or [CompanyName] == 'Ernst Handel')"));
            return base.OnAfterRenderAsync(firstRender);
        }
    }
    

    Implements

    See Also