Hi,
ClientTemplate for the ID value is not working for me. Still outputs the ID to Service field. What am I missing?
Main .cshtml:
Main .cshtml:
@(Html.Kendo().Grid(Model.ManualJobItems)
.Name(
"gridBreakDowns"
)
.Columns(columns =>
{
columns.Bound(p => p.ItemID).Hidden(
true
);
columns.Bound(p => p.ParentID).Hidden(
true
);
columns.Bound(p => p.FileName).Title(
"File"
).Width(130);
columns.Bound(p => p.ServiceName).Title(
"Service"
).Width(200).ClientTemplate(
"#=ServiceName#"
).EditorTemplateName(
"ServiceId"
);
columns.Bound(p => p.Country).Title(
"Country"
).Width(300).EditorTemplateName(
"CountryId"
);
columns.Bound(p => p.Format).Title(
"Format"
).Width(200);
columns.Bound(p => p.Method).Title(
"Service Level"
).Width(200);
columns.Bound(p => p.Quantity).Title(
"Quantity"
).Width(100);
columns.Bound(p => p.ItemWeight).Title(
"Item Weight"
).Width(200);
columns.Bound(p => p.TotalWeight).Title(
"Total Weight"
).Width(200);
columns.Bound(p => p.DespatchStatusString).Title(
"Status"
);
columns.Command(command => { command.Destroy(); }).Width(100);
})
//.Events(events => events.Edit("onGridEdit").Save("onGridSave"))
.Editable(editable => editable
.Mode(GridEditMode.InCell))
.ToolBar(toolBar =>
{
toolBar.Custom().Text(
"Create"
).Name(
"addNewRow"
).Url(
"#"
).HtmlAttributes(
new
{onclick =
"addNewCustomRow()"
});
toolBar.Save();
})
.Events(e => e.DataBound(
"onRowBound"
))
.DataSource(dataSource => dataSource
.Ajax()
.Batch(
true
)
.Events(events => events.Error(
"onerror_handler"
))
.Create(create => create.Action(
"UpdateManualJobItem"
,
"ManualJob"
))
.Read(read => read.Action(
"ReadManualJobItem"
,
"ManualJob"
,
new
{ jid = Model.JobID }))
.Update(update => update.Action(
"UpdateManualJobItem"
,
"ManualJob"
))
.Destroy(destroy => destroy.Action(
"DestroyManualJobItem"
,
"ManualJob"
))
.Model(model =>
{
model.Id(p => p.ItemID);
})
))
ServiceId.cshtml:
@(Html.Kendo().DropDownListFor(m => m)
.OptionLabel(
"Select Service..."
)
.DataTextField(
"ServiceName"
)
.DataValueField(
"ServiceID"
)
.DataSource(source =>
{
source.Read(read =>
{
read.Action(
"GetCurrentNormalServices"
,
"System"
);
});
source.ServerFiltering(
true
);
}))
CountryId.cshtml:
@(Html.Kendo().DropDownListFor(m => m)
.OptionLabel(
"Select Country..."
)
.DataTextField(
"CountryName"
)
.DataValueField(
"CountryID"
)
.DataSource(source =>
{
source.Read(read =>
{
read.Action(
"GetServiceCountries"
,
"System"
).Data(
"filterCountries"
);
});
source.ServerFiltering(
true
);
})
.CascadeFrom(
"ServiceID"
))
SystemController:
public
JsonResult GetCurrentNormalServices()
{
var services = _db.Services.GetAllCurrentNormalServices().Select(x =>
new
{ x.ServiceID, x.ServiceName }).ToList();
return
Json(services, JsonRequestBehavior.AllowGet);
}