Kendo MVC Grid: Creating a Custom command button and passing parameters
asp.net-mvc, grid, kendo-ui, telerik
Solution
This should send any Data keys specified:
command.Custom("Delete").SendDataKeys(true).Click("PropertyPage.DeleteProperty");
DataKeys are specified in the DataSource section:
.DataSource(dataSource => dataSource
.Ajax()
.Model(model => model.Id(p => p.Id)) // THIS IS YOUR DATA KEY
.Read(read => read.Action("PropertyRead", "Property"))
.Update(update => update.Action("Update", "Property"))
.Destroy(update => update.Action("Delete", "Property"))
I also found this page on Kendo's site. It helped me out when I was having a similar issue: http://docs.kendoui.com/getting-started/using-kendo-with/aspnet-mvc/migration/widgets/grid#editing
Hope this helps!
Problem
I'm trying to create a custom command button to fire a custom delete function. I need to pass the ID of my model to my custom delete function. You'll notice that I'm trying to pass in a static '5' as a test but I would like to pass in the ID of the row. Any help would be greatly appreciated. ``` @(Html.Kendo().Grid(Model) .Name("Grid") .Columns(columns => { columns.Bound(p => p.Name).Width(240); columns.Bound(p => p.City).Width(170); columns.Bound(p => p.State).Width(170); columns.Command(command => { command.Edit(); command.Custom("Delete").Click("PropertyPage.DeleteProperty").HtmlAttributes(new { @Id = 5 }); }).Width(166); }) .Scrollable() .Editable(editable => editable.Mode(GridEditMode.InLine)) .DataSource(dataSource => dataSource .Ajax() .Model(model => model.Id(p => p.Id)) .Read(read => read.Action("PropertyRead", "Property")) .Update(update => update.Action("Update", "Property")) .Destroy(update => update.Action("Delete", "Property")) )) ```