Skip to main content
All docs
V25.2
  • GridColumnFilterBuilderFieldDisplayMode Enum

    Lists visibility modes for autogenerated filter fields.

    Namespace: DevExpress.Blazor

    Assembly: DevExpress.Blazor.v25.2.dll

    Declaration

    public enum GridColumnFilterBuilderFieldDisplayMode

    Members

    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.

    Related API Members

    The following properties accept/return GridColumnFilterBuilderFieldDisplayMode values:

    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 initial field 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