Skip to main content
All docs
V25.2
  • DxGridDataColumn.FilterBuilderFieldDisplayMode Property

    Specifies whether the built-in filter builder displays a field for this column.

    Namespace: DevExpress.Blazor

    Assembly: DevExpress.Blazor.v25.2.dll

    Declaration

    [DefaultValue(GridColumnFilterBuilderFieldDisplayMode.Auto)]
    [Parameter]
    public GridColumnFilterBuilderFieldDisplayMode FilterBuilderFieldDisplayMode { get; set; }

    Property Value

    Type Default Description
    GridColumnFilterBuilderFieldDisplayMode Auto

    An enumeration value.

    Available values:

    Name Description
    Never

    The filter field is always hidden.

    Always

    The filter field is always visible.

    Auto

    The filter field’s visibility depends on the corresponding column’s visibility.

    Remarks

    The built-in filter builder dialog generates and configures filter fields based on Grid columns.

    DevExpress Blazor Grid - Built-in Filter Builder Dialog

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

    The Grid sets field initial visibility based on the corresponding column’s visibility. The filter builder dialog automatically updates field visibility once a user displays or hides a column. To display or hide a field permanently, set FilterBuilderFieldDisplayMode to Never/Always.

    The following code snippet hides the Order Date filter field:

    @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"
                        FilterBuilderFieldDisplayMode="GridColumnFilterBuilderFieldDisplayMode.Never" />
                    <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>
    </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);
        }
    }
    
    See Also