This question is locked. New answers and comments are not allowed.
I am using a master-detail Telerik MVC Grid on two levels.
- The first level contains a drop-down of Customers and some misc data.
- The second level contains a drop-down of Cars that are linked to the customer on the first level and some misc data.
I am now using a foreign key column to show the dropdowns of cars and clients.
How can the second dropdown be filtered by the customer on the first level?
Code:
I am thinking that the code might involve some javascript on the `OnDetailViewExpand` event, but I can't figure out what.
Or it might help to build a custom edit model for the cars dropdown, but I can't have it linked to the clientId.
The only solution I have now is to split the grid into separate views and build cascasing comboboxes there.
- The first level contains a drop-down of Customers and some misc data.
- The second level contains a drop-down of Cars that are linked to the customer on the first level and some misc data.
I am now using a foreign key column to show the dropdowns of cars and clients.
How can the second dropdown be filtered by the customer on the first level?
Code:
@(Html.Telerik().Grid<Models.ClientsModel>() .Name("Grid") .ToolBar(commands => commands.Insert().ButtonType(GridButtonType.ImageAndText)) .DataKeys(keys => keys.Add(c => c.ClientLineID)) .Columns(columns => { columns.ForeignKey(o => o.ClientID, (System.Collections.IEnumerable)ViewBag.Client, "ClientID", "Name") .Width(330) .Title("Client"); columns.Command(commands => { commands.Edit().ButtonType(GridButtonType.ImageAndText); commands.Delete().ButtonType(GridButtonType.ImageAndText); }).Width(250); }) .DetailView(car => car.ClientTemplate( Html.Telerik().Grid<Delta.Models.CarModel>() .Name("Car_<#= ClientID #>") .DataKeys(keys => keys.Add(c => c.LineID)) .ToolBar(commands => commands.Insert().ButtonType(GridButtonType.ImageAndText)) .DataBinding(dataBinding => { dataBinding.Ajax() .Select("_CarLineIndex", "Client", new { id = "<#= ClientID #>" }) .Insert("_CarLineCreate", "Client", new { id = "<#= ClientID #>" }) .Update("_CarLineUpdate", "Client") .Delete("_CarLineDelete", "Client"); }) .Columns(columns => { columns.ForeignKey(o => o.CarID, (System.Collections.IEnumerable)ViewBag.Cars, "CarID", "No") .Width(500) .Title("Car"); columns.Command(commands => { commands.Edit().ButtonType(GridButtonType.ImageAndText); commands.Delete().ButtonType(GridButtonType.ImageAndText); }).Width(200); }) .Editable(editing => editing => editing.Mode(GridEditMode.InLine)) .Scrollable(c => c.Height("auto")) .Resizable(resizing => resizing.Columns(true)) .Reorderable(reorder => reorder.Columns(true)) .KeyboardNavigation() .Footer(false) .ToHtmlString() )) .DataBinding(dataBinding => { dataBinding.Ajax() .Select("_ClientIndex", "Client") .Insert("_ClientCreate", "Client") .Update("_ClientUpdate", "Client") .Delete("_ClientDelete", "Client"); }) .Scrollable(c => c.Height("auto")) .Editable(editing => editing.Mode(GridEditMode.InLine)) .Pageable(o => o.PageSize(50)) .Filterable() .KeyboardNavigation() .Groupable())I am thinking that the code might involve some javascript on the `OnDetailViewExpand` event, but I can't figure out what.
Or it might help to build a custom edit model for the cars dropdown, but I can't have it linked to the clientId.
The only solution I have now is to split the grid into separate views and build cascasing comboboxes there.