强制刷新Blazorise DataGrid

问题描述

如何在Blazorise DataGrid上强制刷新?该方案是页面大小组件将页面大小从5更改为10,并且应该使用新的页面大小刷新网格。尽管网格已绑定到PageSize,但是ReadData事件不会触发。

解决方法

这是我通常的做法。

首先,为OnReadData保存事件参数

private DataGridReadDataEventArgs<Order> lastDataRead;

private async Task OnReadData( DataGridReadDataEventArgs<Order> e )
{
    lastDataRead = e; // save every time,so you can refresh later

    var result = await OrderApi.GetAllByUser( ... );

    ...

    StateHasChanged();
}

然后当您需要刷新时,只需致电OnReadData

await OnReadData( lastDataRead ?? new DataGridReadDataEventArgs<Order>( 0,10,null ) );

显然,您需要根据情况重新应用具有页码和页大小的事件args。