I am working with the following grid and running into an issue with the DetailTemplate:
From there I'm trying to create a DetailTemplate that contains 3 tabs, and in one of the tabs another grid. So far so good, it loads rows and works fine. But I want to be able to create/edit/delete the rows in the grid. When I remove the comments from
Thanks,
Matt
<%: Html.Kendo().Grid<Thread.Data.Models.Model>() .Name("Grid") .Columns(columns => { columns.Command(command => { command.Edit(); command.Destroy(); }).Width(190).HtmlAttributes(new { style = "text-align:center;" }); columns.Bound(m => m.ModelID).Hidden(); columns.Bound(m => m.ModelName).Width(140); columns.Bound(m => m.Company).Width(160).ClientTemplate("#= (typeof Company === 'undefined') ? ' ' : Company.CompanyName #").EditorTemplateName("CompanyDropDownList"); columns.Bound(m => m.DocumentCount).Width(90).ClientTemplate("#= (DocumentCount === null) ? '0' : DocumentCount #"); columns.Bound(m => m.AlertCount).Width(90).ClientTemplate("#= (AlertCount === null) ? '0' : AlertCount #"); columns.Bound(m => m.ArticleCount).Width(90).ClientTemplate("#= (ArticleCount === null) ? '0' : ArticleCount #"); }) .ClientDetailTemplateId("jobDetailTemplate") .ToolBar(toolBar => { toolBar.Create(); }) .Editable(editable => editable.Mode(Kendo.Mvc.UI.GridEditMode.InLine)) .HtmlAttributes(new { style = "height: 500px" }) .Pageable() .Sortable() .Scrollable() .Filterable() .Events(events => events.DataBound("dataBound")) .DataSource(dataSource => dataSource .Ajax() .ServerOperation(false) .PageSize(2) .Events(events => events.Error("error_handler")) .Model(model => { model.Id(j => j.ModelID); model.Field(j => j.ModelID).Editable(false); model.Field(j => j.AlertCount).Editable(false); model.Field(j => j.ArticleCount).Editable(false); model.Field(j => j.DocumentCount).Editable(false); }) .Read(read => read.Action("Model_Read", "Models")) .Update(update => update.Action("Model_Save", "Models")) .Create(create => create.Action("Model_Save", "Models")) .Destroy(destroy => destroy.Action("Model_Destroy", "Models")) ) %>From there I'm trying to create a DetailTemplate that contains 3 tabs, and in one of the tabs another grid. So far so good, it loads rows and works fine. But I want to be able to create/edit/delete the rows in the grid. When I remove the comments from
toolbar, editable, columns.Command in the code below I get this error on the line creating the grid.
The model item passed into the dictionary is of type 'System.Int32', but this dictionary requires a model item of type 'System.String'.
items.Add().Text("Documents").Content(obj => Html.Kendo().Grid<Thread.Data.Models.Article>()
Is this possible to achieve, or am I missing an obvious error? I saw it in a Telerik ASP.NET demo and wanted to try it here.<script id="jobDetailTemplate" type="text/kendo-tmpl"> <%: Html.Kendo().TabStrip() .Name("TabStrip_#=ModelID#") .SelectedIndex(0) .Items(items => { items.Add().Text("Articles").Content( "<div class='employee-details'>" + "<ul>" + "<li><label>Country:</label>test 1</li>" + "<li><label>City:</label>test 2</li>" + "<li><label>Address:</label>test 3</li>" + "<li><label>Home Phone:</label>test 4</li>" + "</ul>" + "</div>" ); items.Add().Text("Alerts").Content( "<div class='employee-details'>" + "<ul>" + "<li><label>Country:</label>another test</li>" + "<li><label>City:</label>1</li>" + "<li><label>Address:</label>2</li>" + "<li><label>Home Phone:</label>2</li>" + "</ul>" + "</div>" ); items.Add().Text("Documents").Content(obj => Html.Kendo().Grid<Thread.Data.Models.Article>() .Name("Articles_#ModelID#") //.Toolbar(toolbar => toolbar.Create()) //.Editable(editable => editable.Mode(Kendo.Mvc.UI.GridEditMode.InLine)) .Columns(columns => { //columns.Command(command => { command.Edit(); command.Destroy(); }).Width(190).HtmlAttributes(new { style = "text-align:center;" }); columns.Bound(a => a.ArticleID).Width(101); columns.Bound(a => a.ArticleName).Width(140); columns.Bound(a => a.CompanyID).Width(200); }) .DataSource(dataSource => dataSource .Ajax() .Read(read => read.Action("ModelArticles_Read", "Models", new { modelID = "#=ModelID#" })) .Update(update => update.Action("Article_Save", "Models")) .Create(create => create.Action("Article_Save", "Models")) .Destroy(destroy => destroy.Action("Article_Destroy", "Models")) ) .Pageable() .Sortable() .ToClientTemplate() ); }) .ToClientTemplate() %> </script>Thanks,
Matt