Not sure why is not working for you. I've modified this demo with the following code and the LoadData method is called every 5 sec:
@code {
int count;
IEnumerable<Employee> employees;
RadzenGrid<Employee> grid;
protected override void OnInitialized()
{
base.OnInitialized();
Timer timer = new Timer(5000);
timer.Elapsed += (s,e)=> { InvokeAsync(grid.Reload); };
timer.Start();
}
async Task LoadData(LoadDataArgs args)
{
var result = await service.GetEmployees(filter: args.Filter, top: args.Top, skip: args.Skip, orderby: args.OrderBy, count: true);
employees = result.Value.AsODataEnumerable();
count = result.Count;
StateHasChanged();
}
}