You need to set Count also similar to our demo: https://blazor.radzen.com/datagrid-loaddata
<button @onclick=FakeSomeData>Fake data</button>
Data size = @FakeData.Count()
<RadzenGrid TItem=EventSummary
FilterCaseSensitivity=FilterCaseSensitivity.CaseInsensitive
AllowPaging=true
AllowFiltering=true
PageSize=10
AllowSorting=true
LoadData=@LoadSomeData
Data=@FakeData
Count="@Count"
ColumnWidth="200px">
<Columns>
<RadzenGridColumn TItem=@EventSummary
Property=@nameof(EventSummary.Description)
Title="Description" />
<RadzenGridColumn TItem=@EventSummary
Property=@nameof(EventSummary.UtcTime)
Title="Date">
<Template Context="data">
@String.Format("{0:d}", data.UtcTime)
</Template>
</RadzenGridColumn>
</Columns>
</RadzenGrid>
@code {
public class EventSummary
{
public int Id { get; set; }
public DateTime UtcTime { get; set; }
public EnergyType EnergyType { get; set; }
public string Description { get; set; }
}
public enum EnergyType
{
Gas = 0,
Eletricity = 1
}
private IEnumerable<EventSummary> FakeData = Array.Empty<EventSummary>();
int Count;
private void FakeSomeData()
{
FakeData = Enumerable.Range(1, 10)
.Select(x => new EventSummary
{
Id = x,
Description = "Description #" + x,
EnergyType = EnergyType.Gas,
UtcTime = DateTime.UtcNow
});
Count = FakeData.Count();
StateHasChanged();
}
private Task LoadSomeData(LoadDataArgs args)
{
FakeSomeData();
return Task.CompletedTask;
}
}