blazor-devexpress-dot-blazor-dot-dxgriddatacolumn-b308cd20.md
Specifies whether the built-in filter builder displays a field for this column.
Namespace : DevExpress.Blazor
Assembly : DevExpress.Blazor.v25.2.dll
NuGet Package : DevExpress.Blazor
[DefaultValue(GridColumnFilterBuilderFieldDisplayMode.Auto)]
[Parameter]
public GridColumnFilterBuilderFieldDisplayMode FilterBuilderFieldDisplayMode { get; set; }
| 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.
|
The built-in filter builder dialog generates and configures filter fields based on Grid columns.
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);
}
}
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
namespace BlazorDemo.Data.Northwind {
public class Invoice {
public string ShipName { get; set; }
public string ShipAddress { get; set; }
public string ShipCity { get; set; }
public string ShipRegion { get; set; }
public string ShipPostalCode { get; set; }
public string ShipCountry { get; set; }
public string CustomerId { get; set; }
public string CustomerName { get; set; }
public string Address { get; set; }
public string City { get; set; }
public string Region { get; set; }
public string PostalCode { get; set; }
public string Country { get; set; }
public string Salesperson { get; set; }
public int OrderId { get; set; }
public DateTime? OrderDate { get; set; }
public DateTime? RequiredDate { get; set; }
public DateTime? ShippedDate { get; set; }
public string ShipperName { get; set; }
public int ProductId { get; set; }
public string ProductName { get; set; }
public decimal UnitPrice { get; set; }
public short Quantity { get; set; }
public float Discount { get; set; }
public decimal? ExtendedPrice { get; set; }
public decimal? Freight { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
namespace BlazorDemo.Data.Northwind {
public partial class Customer {
public Customer() {
Orders = new HashSet<Order>();
}
public string CustomerId { get; set; }
public string CompanyName { get; set; }
public string ContactName { get; set; }
public string ContactTitle { get; set; }
public string Address { get; set; }
public string City { get; set; }
public string Region { get; set; }
public string PostalCode { get; set; }
public string Country { get; set; }
public string Phone { get; set; }
public string Fax { get; set; }
public virtual ICollection<Order> Orders { get; set; }
}
}
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using BlazorDemo.Data.Northwind;
using BlazorDemo.DataProviders;
namespace BlazorDemo.Services {
public partial class NwindDataService {
public Task<IEnumerable<Invoice>> GetInvoicesAsync(CancellationToken ct = default) {
// Return your data here
}
public Task<IEnumerable<Customer>> GetCustomersAsync(CancellationToken ct = default) {
// Return your data here
}
}
}
// ...
builder.Services.AddScoped<NwindDataService>();
See Also