|
@using Syncfusion.Blazor.Grids
@using Syncfusion.Blazor.Data
@using Syncfusion.Blazor.Calendars
<SfDateRangePicker TValue="DateTime?" @ref="DatePicker" Placeholder="Choose a Range">
<DateRangePickerEvents TValue="DateTime?" ValueChange="OnChange"></DateRangePickerEvents>
</SfDateRangePicker>
<SfGrid @ref="DefaultGrid" DataSource="@Orders" Query="@Qry" AllowPaging="true">
<GridColumns>
<GridColumn Field=@nameof(Order.OrderDate) HeaderText=" Order Date" Format="d" Type="ColumnType.Date" TextAlign="TextAlign.Right" Width="130"></GridColumn>
</GridColumns>
</SfGrid>
@code{
private SfGrid<Order> DefaultGrid;
public Query Qry = new Query();
SfDateRangePicker<DateTime?> DatePicker { get; set; }
public List<Order> Orders { get; set; }
public void OnChange(RangePickerEventArgs<DateTime?> Args)
{
var Col1Pre = new WhereFilter();
var predicate = new List<WhereFilter>();
predicate.Add(new WhereFilter() { Condition = "or", Field = "OrderDate", value = Args.StartDate, Operator = "greaterthanorequal" });
predicate.Add(new WhereFilter() { Condition = "or", Field = "OrderDate", value = Args.EndDate, Operator = "lessthanorequal" });
Col1Pre = WhereFilter.And(predicate);
Qry = new Query().Where(Col1Pre); // to filter the Grid
}
} |
Am looking for FilterByColumn with multiple conditions. Example: Filtering by multiple CustomerIds in a column. ( Any of CustomerIds )
Hi Akhila,
Greetings from Syncfusion support.
Query: “Am looking for FilterByColumn with multiple conditions. Example: Filtering by multiple CustomerIds in a column. ( Any of CustomerIds )”
We have validated your query and we suspect that you want to filter multiple values by using FilterByColumn method. If yes, then you can achieve this requirement by using below way.
Reference:
https://www.syncfusion.com/kb/12472/how-to-perform-multiple-value-filtering-for-same-column-in-grid
|
<button @onclick="Filter">Filter multiple values in same column(CustomerID)</button>
<SfGrid @ref="Grid" DataSource="@Orders" AllowFiltering="true" AllowPaging="true"> <GridFilterSettings Type="Syncfusion.Blazor.Grids.FilterType.Excel"></GridFilterSettings> <GridColumns> . . . </GridColumns> </SfGrid>
@code{ SfGrid<Order> Grid { get; set; } . . . public async Task Filter() { await Grid.FilterByColumnAsync("CustomerID", "equal", new List<string> { "ALFKI", "BLONP" }, "or"); } } |
Kindly get back to us if you have further queries.
Regards,
Monisha