regards Uwe|
<GridEvents OnActionComplete="OnActionComplete" TValue="Order"></GridEvents>
public async Task OnActionComplete(ActionEventArgs<Order> args)
{
if(args.RequestType.ToString() == "Filtering")
{
var filterdata = await DefaultGrid.GetFilteredRecords();
}
}
|
|
<SfGrid @ref="Grid" DataSource="@Orders" AllowFiltering="true" AllowPaging="true">
<GridEvents OnActionComplete="OnActionComplete" TValue="Order"></GridEvents>
...
</SfGrid>
@foreach (var a in FilterStatus)
{
<div>@a.Key : @a.Value</div>
}
@code{
SfGrid<Order> Grid;
public List<Order> Orders { get; set; }
private Dictionary<string, object> FilterStatus { get; set; } = new Dictionary<string, object>();
public string ColumnName { get; set; }
public object FilterValue { get; set; }
...
public void OnActionComplete(ActionEventArgs<Order> args)
{
if (args.RequestType.ToString() == "Filtering")
{
if (FilterStatus.ContainsKey(args.CurrentFilterObject.Field))
{
FilterStatus.Remove(args.CurrentFilterObject.Field); //Remove the filter column details during clear filtering
if(args.CurrentFilterObject.Value != "")
{
FilterStatus.Add(args.CurrentFilterObject.Field, args.CurrentFilterObject.Value); //Add if same column is filtered again with different value
}
}
else
{
FilterStatus.Add(args.CurrentFilterObject.Field, args.CurrentFilterObject.Value); //Add details during filtering
}
}
}
...
}
|