Skip to content

Commit

Permalink
DropDownDataGrid @bind-SelectedItem can cause endless loop in some cases
Browse files Browse the repository at this point in the history
  • Loading branch information
enchev committed Sep 2, 2024
1 parent 0859f93 commit ccc82e5
Showing 1 changed file with 16 additions and 5 deletions.
21 changes: 16 additions & 5 deletions Radzen.Blazor/RadzenDropDownDataGrid.razor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -555,21 +555,32 @@ protected override void SelectItemFromValue(object value)
{
if (!Multiple)
{
bool raiseChange = false;

if (!string.IsNullOrEmpty(ValueProperty))
{
var item = Query.Where(DynamicLinqCustomTypeProvider.ParsingConfig, $@"{ValueProperty} == @0", value).FirstOrDefault();
if (item != null)
if (item != null && SelectedItem != item)
{
SelectedItem = item;
raiseChange = true;
}
}
else
{
SelectedItem = internalValue;
if (SelectedItem != internalValue)
{
SelectedItem = internalValue;
raiseChange = true;
}
}

if (raiseChange)
{
SelectedItemChanged.InvokeAsync(SelectedItem);
selectedItems.Clear();
selectedItems.Add(SelectedItem);
}
SelectedItemChanged.InvokeAsync(SelectedItem);
selectedItems.Clear();
selectedItems.Add(SelectedItem);
}
else
{
Expand Down

0 comments on commit ccc82e5

Please sign in to comment.