RadzenDropDown doesn't trigger Change Event #727

Closed
opened 2026-01-29 17:42:21 +00:00 by claunia · 2 comments
Owner

Originally created by @gtejeda on GitHub (Feb 9, 2023).

Greetings guys, I'm trying to bind an enum to the radzen dropdown in Blazor WebAssembly, but it's not behaving as it should, I mean, it doesn't even trigger the Change event.

Any help would be greatly appreciated

<RadzenDropDown Class="w-100" Data="providers" TextProperty="ProviderName" TValue="Provider" ValueProperty="ProdiverValue" Change="@(args => OnChange(args))" @bind-Value="provider" />

    IList<Provider> providers;
    Provider provider;

    public class Provider
    {
        public string ProviderName { get; set; }
        public ChatProvider ProdiverValue  { get; set; }
    }


    protected void ActiveProviders()
    {
        providers = new List<Provider>();
        foreach (var item in Enum.GetValues(typeof(ChatProvider)))
        {
            providers. Add(new Provider { ProviderName = item.ToString(), ProdiverValue = (ChatProvider)item });
        }

        providers = providers.OrderBy(x => x.ProdiverValue).ToList();
    }

    private void OnChange(object args)
    {
        var chatProvider = (ChatProvider)args;
        var _provider = providers.SingleOrDefault(x => x.ProdiverValue == chatProvider);
        if (_provider != null)
            provider = _provider;

        StateHasChanged();
    }

Originally created by @gtejeda on GitHub (Feb 9, 2023). Greetings guys, I'm trying to bind an enum to the radzen dropdown in Blazor WebAssembly, but it's not behaving as it should, I mean, it doesn't even trigger the Change event. Any help would be greatly appreciated ``` <RadzenDropDown Class="w-100" Data="providers" TextProperty="ProviderName" TValue="Provider" ValueProperty="ProdiverValue" Change="@(args => OnChange(args))" @bind-Value="provider" /> IList<Provider> providers; Provider provider; public class Provider { public string ProviderName { get; set; } public ChatProvider ProdiverValue { get; set; } } protected void ActiveProviders() { providers = new List<Provider>(); foreach (var item in Enum.GetValues(typeof(ChatProvider))) { providers. Add(new Provider { ProviderName = item.ToString(), ProdiverValue = (ChatProvider)item }); } providers = providers.OrderBy(x => x.ProdiverValue).ToList(); } private void OnChange(object args) { var chatProvider = (ChatProvider)args; var _provider = providers.SingleOrDefault(x => x.ProdiverValue == chatProvider); if (_provider != null) provider = _provider; StateHasChanged(); } ```
Author
Owner

@gtejeda commented on GitHub (Feb 9, 2023):

Don't know if it has to do with anything, but this code is inside a Dialog

@gtejeda commented on GitHub (Feb 9, 2023): Don't know if it has to do with anything, but this code is inside a Dialog
Author
Owner

@gtejeda commented on GitHub (Feb 9, 2023):

Solved,
the gotcha is that the TValue must be the actual value type, as opposed to the TType of the Data collection (what I was doing).

@gtejeda commented on GitHub (Feb 9, 2023): Solved, the gotcha is that the TValue must be the actual value type, as opposed to the TType of the Data collection (what I was doing).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/radzen-blazor#727