<SfDateRangePicker Placeholder="Choose a Range" Min='@MinDate' Max='@MaxDate' Width="500">
<DateRangePickerEvents ValueChange="ValueChangeHandler"></DateRangePickerEvents>
</SfDateRangePicker>
<button @onclick="ClearFilter"> Clear Filtering</button>
<SfGrid TValue="Order" AllowPaging="true" Query="GridQuery" AllowFiltering="true">
<SfDataManager Url="https://services.odata.org/V4/Northwind/Northwind.svc/Orders/" Adaptor="Adaptors.ODataV4Adaptor"></SfDataManager>
<GridColumns>
. . .
</GridColumns>
</SfGrid>
@code{
public DateTime MinDate { get; set; } = new DateTime(1996, 07, 04);
public DateTime MaxDate { get; set; } = new DateTime(1998, 05, 05);
public Query GridQuery { get; set; }
. . .
public void ValueChangeHandler(RangeEventArgs args)
{
GridQuery = new Query();
var ColPre = new WhereFilter();
List<WhereFilter> Predicate = new List<WhereFilter>();
Predicate.Add(new WhereFilter()
{
Field = "OrderDate",
value = args.StartDate,
Operator = "greaterthanorequal",
IgnoreCase = true
});
Predicate.Add(new WhereFilter()
{
Field = "OrderDate",
value = args.EndDate,
Operator = "lessthanorequal",
IgnoreCase = true
});
ColPre = WhereFilter.And(Predicate);
GridQuery = new Query().Where(ColPre);
}
public void ClearFilter()
{
GridQuery = new Query();
}
} |