Cascading drop down datagrid will not load data without clicking on sort first

Objective:
I'm trying to have a RadzenDropDown cascade to a RazenDropDownDataGrid (with multiple select true) - I'm following the " Cascading DropDowns" example but have changed the type of controls.

Issue:
The RadzenDropDown loads correctly and works as expected - however, the RazdenDropDownDatagrid will not load the filtered data until I click on the dropdown and click sort, then my filtered data will show.

Question:
I can't figure out a way to force the data to load or reload without clicking on sort first, what should I try or what can I do to force the data to reload the RazdenDropdowndatagrid when the RadzenDropdown item changes - this works when I cascade from RadzenDropDown to RadzenDropDown (single select)

MODELS:
public class ViewDealer
{
public int? Dealerid { get; set; }
public string Dealername { get; set; }
}
public class ViewDealerlocation
{
public int? Dealerlocationid { get; set; }
public string Delaerlocationname { get; set; }
public int? Dealerlocationparentid { get; set; }
public int? Dealerlocationpartnerid { get; set; }
}

CONTROLS:

Dealers


<RadzenDropDown TValue="int" @bind-Value="iDealerid" Placeholder="Select Dealer" AllowFiltering="true"
Data="@(Dealers)" TextProperty="Dealername" ValueProperty="Dealerid" Style="margin-bottom: 20px"
LoadData="@(args => LoadData(args))"
Change="@(args => Change(args, "DropDownDataGridDealers"))"/>


Locations


<RadzenDropDownDataGrid AllowFiltering="true" FilterCaseSensitivity="FilterCaseSensitivity.CaseInsensitive" AllowClear="true"
@bind-Value="multipleValues" Multiple="true" Placeholder="Select Location..." LoadData="@(args => LoadData(args))"
Data="@(Locations.Where(l => l.Dealerlocationparentid == iDealerid))" s TextProperty="Delaerlocationname" ValueProperty="Dealerlocationparentid"
Change="@(args => Change(args, "DropDownDataGridLocations"))" Style="width:400px;" />

CODE:

IEnumerable<ViewDealer> Dealers;
    IEnumerable<ViewDealerlocation> Locations;
    IEnumerable<int> multipleValues;
    int iDealerid;
    int iDealerlocationid;
void Change(object value, string name)
    {
        var str = value is IEnumerable<object> ? string.Join(", ", (IEnumerable<object>)value) : value;


        Locations = Locations.Where(l => l.Dealerlocationparentid == iDealerid);
      

        StateHasChanged();
        InvokeAsync(StateHasChanged);
    }

void LoadData(LoadDataArgs args)
{
Locations = Locations.Where(l => l.Dealerlocationparentid == iDealerid);

InvokeAsync(StateHasChanged);

}

We will need a complete example. And please format your code.

Having Exactly the same problem, trying to cascade dropdowndatagrids, the new data is correct when I look at it but I cannot get the grid to display it, pehaps exposing reload on the dropdowndatagirid ?

I've just published new version of Radzen.Blazor with Reload() method for the DropDownDataGrid component. Here is an example of cascading DropDownDataGrids using LoadData event:

@page "/cascading-dropdowns"

@using NorthwindBlazor.Data
@using NorthwindBlazor.Models.Northwind
@using Microsoft.EntityFrameworkCore

@inject NorthwindContext dbContext

<h1>Cascading DropDowns</h1>

<p>Cascading Radzen Blazor DropDown components.</p>

<RadzenExample Name="CascadingDropDowns" Heading="false" Documentation="false">
<h3>Customers</h3>
<RadzenDropDownDataGrid TValue="string" @bind-Value="CustomerID" Placeholder="Select customer" LoadData="@LoadCustomers" Change="@(() => { ordersGrid.Reload(); })"
                        AllowFiltering="true" Data="@(customers)" Count="@customersCount" TextProperty="CompanyName" ValueProperty="CustomerID" Style="margin-bottom: 20px" />
<br />
<h3>Orders</h3>
<RadzenDropDownDataGrid @ref="ordersGrid" TValue="int" @bind-Value="OrderID" Placeholder="Select order" Change="@(() => { orderDetailsGrid.Reload(); })"
                        Data="@(orders)" LoadData="@LoadOrders" Count="@ordersCount" ValueProperty="OrderID" Style="margin-bottom: 20px">
    <Template>
        OrderID: @(((Order)context).OrderID)
    </Template>
</RadzenDropDownDataGrid>
<br />
<h3>Order Details</h3>
<RadzenGrid @ref="orderDetailsGrid" AllowFiltering="true" AllowPaging="true" AllowSorting="true" FilterCaseSensitivity="FilterCaseSensitivity.CaseInsensitive" 
            Data="@(orderDetails)" Count="@orderDetailsCount" LoadData="@LoadOrderDetails" TItem="OrderDetail" ColumnWidth="200px">
    <Columns>
        <RadzenGridColumn TItem="OrderDetail" Property="Product.ProductName" Title="Product" />
        <RadzenGridColumn TItem="OrderDetail" Property="Quantity" Title="Quantity" />
        <RadzenGridColumn TItem="OrderDetail" Property="Discount" Title="Discount" FormatString="{0:P}" />
    </Columns>
</RadzenGrid>
<br />
</RadzenExample>
@code {
    IEnumerable<Customer> customers;
    IEnumerable<Order> orders;
    IEnumerable<OrderDetail> orderDetails;

    RadzenDropDownDataGrid<int> ordersGrid;
    RadzenGrid<OrderDetail> orderDetailsGrid;

    int customersCount;
    int ordersCount;
    int orderDetailsCount;

    string CustomerID;
    int OrderID;

    void LoadCustomers(LoadDataArgs args)
    {
        customersCount = dbContext.Customers.Count();
        customers = dbContext.Customers.Skip(args.Skip.Value).Take(args.Top.Value).ToList();
    }

    void LoadOrders(LoadDataArgs args)
    {
        if (CustomerID != null)
        {
            var query = dbContext.Orders.Where(o => o.CustomerID == CustomerID);
            ordersCount = query.Count();
            orders = query.Skip(args.Skip.Value).Take(args.Top.Value).ToList();
        }
    }

    void LoadOrderDetails(LoadDataArgs args)
    {
        if (OrderID != default(int))
        {
            var query = dbContext.OrderDetails.Where(o => o.OrderID == OrderID);
            orderDetailsCount = query.Count();
            orderDetails = query.Skip(args.Skip.Value).Take(args.Top.Value).Include("Product").ToList();
        }
    }
}