I have a blazor component.Im trying to display a test table once a button is clicked like so:
<button id="btnKltClms" class="slikaButton" @onclick="TestClick" hidden="@isBtnKltClmsHidden"></button><div hidden="@isTbResultsHidden"> <TelerikGrid Data="@resultTableData"><GridColumns><GridColumn Field="@nameof(ResultTableRow_Klt_Clms.CompanyName)" Title="חברה" /><GridColumn Field="@nameof(ResultTableRow_Klt_Clms.CompanyNumber)" Title="מספרחברה" /><GridColumn Field="@nameof(ResultTableRow_Klt_Clms.DeliveryNumber)" Title="מספרמשלוח" /><GridColumn Field="@nameof(ResultTableRow_Klt_Clms.RecordedEntriesNumber)" Title="מספררשומותשנקלטו" /><GridColumn Field="@nameof(ResultTableRow_Klt_Clms.ShguimEntriesNumber)" Title="מספררשומותשגויות" /></GridColumns></TelerikGrid> </div>And thats my code behind file:
async Task TestClick() { resultTableData.Clear(); for (int i = 0; i <= 5; i++) { current_Company1 = $"curComp{i}"; current_Company_name1 = $"curCompName{i}"; CURRENT_MISHLOACH1 = $"mishloah{i}"; TOTAL_SHG_D1 = $"totalShg{i}"; await BuildResultTable(); } StateHasChanged(); } async Task BuildResultTable() { resultTableData.Add(new ResultTableRow_Klt_Clms { CompanyName = StringUtil.Reverse(current_Company_name1), CompanyNumber = current_Company1.ToString(), DeliveryNumber = CURRENT_MISHLOACH1.ToString(), RecordedEntriesNumber = (recordarr.Length - 2).ToString(), ShguimEntriesNumber = TOTAL_SHG_D1.ToString() }); isTbResultsHidden = false; isLabelErrorHidden = false; StateHasChanged(); }When I check in debug, obviously the list will include 6 items.When table is displayed ( after a button click it will display an empty table
Ive been trying to "play" with signatures , async void, async Task, await, not await, all of that.
Ive been also trying to do this
await InvokeAsync(() => StateHasChanged());but its clear that something in that logic is beyond my understanding as of now.Any ideas?Thanks !!