Hi,
I am new to Radzen / Blazor and trying to get monthly records and display them in chart. It displays them first time when page is loaded, then I pick new Date in DatePicker and call function LoadMonthlyRecords() but it just freezes the page and goes into infinite loop.
<RadzenChart ColorScheme="ColorScheme.Pastel" Style="min-height: 50vh;" @ref="Chart">
<RadzenLineSeries @ref="LineSeriesChart" TItem="DayDetailsViewModel" Smooth="@smooth" Data="@studenataTrenutniMjesec" StrokeWidth="5" CategoryProperty="Datum" Title="Studenti" ValueProperty="StudentsInDay" LineType="LineType.Solid">
<ChildContent>
<RadzenMarkers MarkerType="MarkerType.Circle"></RadzenMarkers>
</ChildContent>
<TooltipTemplate Context="data">
<RadzenButton Click=@(args => OnClick(data.StudentDetails)) Icon="account_circle" Style="margin-bottom:-50px;width: 80px; padding:2rem;" />
</TooltipTemplate>
</RadzenLineSeries>
<RadzenCategoryAxis Padding="20" FormatString="{0:dd}. dan" />
<RadzenValueAxis Step="1">
<RadzenGridLines Visible="true" />
<RadzenAxisTitle Text="Broj studenata u danu" />
</RadzenValueAxis>
</RadzenChart>
And here is code..
private async Task LoadMonthlyRecords(DateTime date)
{
var requestModel = new MjesecniDolasciFilter()
{ Datum = datum, MentorId = User.UserId };
try
{
var daysDetails = await WebAssemblyHttpService.Fetch<List<DayDetails>>("evidencijasati", requestModel, HttpMethod.Post, "/EvidencijaSati/Dolazak/MjesecniDolasci", BrowserRequestMode.Cors, BrowserRequestCredentials.Omit, User.UserMetadata.JwtToken);
studenataTrenutniMjesec.Clear();
if (daysDetails.Count()>0)
{
foreach (var detail in daysDetails)
studenataTrenutniMjesec.Add(new DayDetailsViewModel { Datum = detail.Datum, StudentDetails = detail.StudentDetails });
studenataTrenutniMjesec = studenataTrenutniMjesec.ToList();
StateHasChanged();
}
}
catch (Exception e)
{
Snackbar.Add("Greška prilikom dohvaćanja detalja studenata u mjesecu" + e.Message, Severity.Warning);
}
}
protected override async Task OnInitializedAsync()
{
await LoadMonthlyRecords(DateTime.Now);
}