Hello I have searched multiple forum responses on similar issues for this answer seen the cascading dropdown demos and the MVC5 dropdown demo. I can't seem to make my cascading inline grid dropdown recognize the parent object to enable the second dropdown.
I have been able to access the cascade effect when the initial dropdown is not in the grid. So I can make a dropdown that cascades I just cant seem to get it to work in the grid while editing.
Any suggestions? Thanks!
code below
subedit.cshtml
@model CircuitStatus
@(Html.Kendo().DropDownList()
.Name("subdrop")
.OptionLabel("Select option")
.DataTextField("station_name")
.DataValueField("station_id")
.DataSource(source =>
{
source.Read(read =>
{
read.Action("station_Read", "CircuitStatus");
}).ServerFiltering(true);
})
)
cascadedropdowntemplate.chtml
@(Html.Kendo().DropDownList()
.Name("circuit")
.HtmlAttributes(new { style = "width:100%" })
.OptionLabel("Select product...")
.DataTextField("circuit_name")
.DataValueField("circuit_id")
.DataSource(source =>
{
source.Read(read =>
{
read.Action("cirucitBystation_Read", "CircuitStatus")
.Data("getSubstationName");
})
.ServerFiltering(true);
})
.Enable(false)
.AutoBind(false)
.CascadeFrom("subdrop")
)
<script type="text/javascript">
function getSubstationName() {
console.log($("#subdrop").val());
return {
circuitbySubstationName: $("#subdrop").val()
};
}
</script>
finally the index.cshtml
<div class="row"><div class="col-12">
@(Html.Kendo().Grid<QCReview.Models.CircuitStatus>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(p => p.STATION_NAME).EditorTemplateName("subedit").Filterable(filterable => filterable.Multi(true).CheckAll(true));
columns.Bound(p => p.CIRCUIT_ID).Title("Circuit ID").EditorTemplateName("cascadedropdowntemplate");
columns.Bound(p => p.QA_EXT).ClientTemplate("<input type='checkbox' disabled #=QA_EXT ? checked='checked' :'' # />").Title("QA Ready");
columns.Bound(p => p.OMS_READY).ClientTemplate("<input type='checkbox' disabled #=OMS_READY ? checked='checked' :'' # />").Title("OMS Ready");
columns.Bound(p => p.INSERT_DATETIME).Format("{0:MM/dd/yyyy}").Title("Insert Date");
columns.Bound(p => p.QA_DATETIME).Format("{0:MM/dd/yyyy}").Title("QA Date");
columns.Bound(p => p.LAST_UPDATE_DATETIME).Format("{0:MM/dd/yyyy hh:mm tt}").Title("Last Update Date");
columns.Command(command => { command.Edit(); command.Destroy(); }).Width(172);
})
.Events(events =>
events.Edit("edit")
)
.ToolBar(toolbar => toolbar.Create())
.Editable(editable => editable.Mode(GridEditMode.InLine))
.Pageable()
.Sortable()
.Scrollable()
.Filterable(filter => filter.Extra(false)
.Operators(operators => operators
.ForString(str => str.Clear()
.StartsWith("Starts with")
.IsEqualTo("Is equal to")
.IsNotEqualTo("Is not equal to")
)))
.Groupable()
.HtmlAttributes(new { style = "height:550px;" })
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(50)
.Events(events =>
{
events.Error("error_handler");
events.Change("onChange");
})
.Model(model =>
{
model.Id(p => p.CIRCUIT_ID);
model.Field(p => p.STATION_NAME).Editable(true);
model.Field(p => p.CIRCUIT_ID).Editable(true);
model.Field(p => p.INSERT_DATETIME).Editable(false);
model.Field(p => p.SUBSTATION_NAME).Editable(true);
model.Field(p => p.LAST_UPDATE_DATETIME).Editable(false);
})
.Create(create => create.Action("CircuitStatus_Create", "CircuitStatus"))
.Read(read => read.Action("CircuitStatus_Read", "CircuitStatus"))
.Update(update => update.Action("CircuitStatus_Update", "CircuitStatus"))
.Destroy(update => update.Action("CircuitStatus_Destroy", "CircuitStatus"))
)
)
<script type="text/javascript">
function getSubstationName() {
console.log($("#subdrop").val());
return {
circuitbystationName: $("#subdrop").val()
};
}
</script>