Dynamically changing button icon based on boolean from code behind only works on full page refresh

I have a datagrid with an included button(within a template/context) that when clicked allows a user to be impersonated by parent :

     <RadzenDataGridColumn TItem="Customers" Property="@nameof(CustomerToUpsert)" Title="Impersonate" TextAlign="Radzen.TextAlign.Center" Sortable="false" Width="150">
                    <Template Context="customer">
                        <RadzenButton ButtonStyle="ButtonStyle.Dark" Size="ButtonSize.Small" class="manage"
                                      Icon="@(CheckSelectable(customer) ? "radio_button_checked" : "radio_button_unchecked")"
                                      Click="@(args => SelectCustomer(customer))" @onclick:stopPropagation="true" />
                    </Template>
                </RadzenDataGridColumn>

the method is here:

  protected bool CheckSelectable(Customers customer) => customer.CustomerToken.TrimEnd() == SelectedCustomerToken;

    protected string SelectedCustomerToken { get; set; }

    protected async Task SelectCustomer(Customers customer)
    {
        var token = customer.CustomerToken.TrimEnd();
        if (token == SelectedCustomerToken) return;

        Services.Customer selected = new(Guid.Parse(token));
        await customerSelectionService.SetSelectedCustomer(selected, JSRuntime);
        DashboardHub.CustomerToken = selected.Token;


    }

I have tried using refgrid reload, refresh etc, also tried navmanager but on a forced reload, it gets lost on our load balanced systems and resets, so i am trying to dynamically update which box shows selected in real time. I have tried everything as far as i know. Any help would be really appreciated.

Works normally on my end:


button-icon

The difference is one, im using the button as a styled radio button and the click is on the button itself, not on a seperate button. What is going on with my implementation, it should work. Calling statehaschanged doesnt rerender the buttons at all, can i upload a video?

also the ```
protected bool CheckSelectable(Customers customer) => customer.CustomerToken.TrimEnd() == SelectedCustomerToken;

returns corect values(but the style of icon changes only on Full page Reload)

EDIT : adding the click me button calling statehaschanged also does not create the rerender of icon.

Only you can check this while debugging your app.