Dear Kendo Team,
I have a grid of with a row that contains several values for each item. I would also like to be able to filter and group by that row but I haven't got that far yet because I can't even display the information.
The grid looks like so:
@( Html.Kendo().Grid<ProjectXMVC3.ViewModel.PersonnelIndexViewModel>()
.Name("Personnel")
.Columns(columns =>
{
columns.Bound(o => o.AssetId).Hidden();
columns.Bound(o => o.Num).Hidden();
columns.Bound(o => o.Name).Width(150);
columns.Bound(o => o.Email).Width(200);
columns.Bound(o => o.AssetSubTypeName).ClientTemplate("# var j = AssetSubType.length; for(var i = 0; i < j; i++){# #: AssetSubType[i] # #}#");
columns.Bound(o => o.DateBirth).Format("{0:d}").Width(100);
columns.ForeignKey(o => o.NationalityId, (System.Collections.IEnumerable)ViewBag.NationalityId, "CountryId", "Country").Title("Nationality");
columns.ForeignKey(o => o.PreferedAirport, (System.Collections.IEnumerable)ViewBag.PreferedAirport, "AirportId", "AirportName").Title("Prefered Airport");
columns.ForeignKey(o => o.ContractorTypeId, (System.Collections.IEnumerable)ViewBag.ContractorTypeId, "ContractorTypeId", "ContractorDescrip").Title("Contractor Type");
columns.Command(com =>
{
com.Custom("Details").Click("onPersonSelected");
com.Edit();
com.Custom("Block").Click("onBlocked");
com.Destroy();
}).Width(240);
})
.DataSource(d => d
.Ajax()
.Model(model => model.Id(p => p.AssetId))
.Read(read => read.Action("Read_Personnel", "Personnel"))
.Events(events => events.Error("error_handler"))
.Update(update => update.Action("Personnel_Update", "Personnel"))
.Destroy(destroy => destroy.Action("Personnel_Destroy", "Personnel"))
)
.Events(ev => { ev.DataBound("onDataBound"); ev.Edit("onEdit"); })
.Editable(ed => ed.Mode(GridEditMode.PopUp).TemplateName("Person"))
)
The problems occurs at the client template line which causes the grid to crash. I can output the length, individual subtypes but as soon as it loops it crashes in a very terminal way.
I've tried:
"# for(var i = 0; i < AssetSubType.length; i++){# #: AssetSubType[i] # #}#"
"# for(var i = 0; i < AssetSubType.length; i++){# #= AssetSubType[i] # #}#"
This works:
"# if(AssetSubType.length > 0){# #: AssetSubType[0] # #}#"
Any assistance would be very much appreciated. Thanks in advance.
I have a grid of with a row that contains several values for each item. I would also like to be able to filter and group by that row but I haven't got that far yet because I can't even display the information.
The grid looks like so:
@( Html.Kendo().Grid<ProjectXMVC3.ViewModel.PersonnelIndexViewModel>()
.Name("Personnel")
.Columns(columns =>
{
columns.Bound(o => o.AssetId).Hidden();
columns.Bound(o => o.Num).Hidden();
columns.Bound(o => o.Name).Width(150);
columns.Bound(o => o.Email).Width(200);
columns.Bound(o => o.AssetSubTypeName).ClientTemplate("# var j = AssetSubType.length; for(var i = 0; i < j; i++){# #: AssetSubType[i] # #}#");
columns.Bound(o => o.DateBirth).Format("{0:d}").Width(100);
columns.ForeignKey(o => o.NationalityId, (System.Collections.IEnumerable)ViewBag.NationalityId, "CountryId", "Country").Title("Nationality");
columns.ForeignKey(o => o.PreferedAirport, (System.Collections.IEnumerable)ViewBag.PreferedAirport, "AirportId", "AirportName").Title("Prefered Airport");
columns.ForeignKey(o => o.ContractorTypeId, (System.Collections.IEnumerable)ViewBag.ContractorTypeId, "ContractorTypeId", "ContractorDescrip").Title("Contractor Type");
columns.Command(com =>
{
com.Custom("Details").Click("onPersonSelected");
com.Edit();
com.Custom("Block").Click("onBlocked");
com.Destroy();
}).Width(240);
})
.DataSource(d => d
.Ajax()
.Model(model => model.Id(p => p.AssetId))
.Read(read => read.Action("Read_Personnel", "Personnel"))
.Events(events => events.Error("error_handler"))
.Update(update => update.Action("Personnel_Update", "Personnel"))
.Destroy(destroy => destroy.Action("Personnel_Destroy", "Personnel"))
)
.Events(ev => { ev.DataBound("onDataBound"); ev.Edit("onEdit"); })
.Editable(ed => ed.Mode(GridEditMode.PopUp).TemplateName("Person"))
)
The problems occurs at the client template line which causes the grid to crash. I can output the length, individual subtypes but as soon as it loops it crashes in a very terminal way.
I've tried:
"# for(var i = 0; i < AssetSubType.length; i++){# #: AssetSubType[i] # #}#"
"# for(var i = 0; i < AssetSubType.length; i++){# #= AssetSubType[i] # #}#"
This works:
"# if(AssetSubType.length > 0){# #: AssetSubType[0] # #}#"
Any assistance would be very much appreciated. Thanks in advance.