In this article, will demonstrate how to remove multiple grid items when a button is clicked.
Below is basic grid configuration.
@(Html.Kendo().Grid<User>() .Name("UserGrid") .HtmlAttributes(new { style = "height:100%; width:100%; " }) .Columns(columns => { columns.Bound(m => m.Id).Hidden(true); columns.Bound(m => m.Name).Width(175).Title("Name"); columns.Bound(m => m.Hours).Width(175).Title("Hrs"); columns.Bound(m => m.Comments).Width(175).Title("Comments"); } ) .Scrollable() .ToolBar(toolbar => toolbar.Template(@<text> <a class="k-button k-button-icontext k-grid-add" href="#"><span class="k-icon k-add"></span>New</a> <a class="k-button k-button-icontext" id="cancelItem" href="javascript:void(0)"><span class="k-icon k-cancel"> </span>Cancel</a> </text>)) .Editable(editable => editable.Mode(GridEditMode.InCell)) .Filterable() .Sortable() .DataSource(dataSource => dataSource .Ajax() .Batch(true) .ServerOperation(false) .Model(model => { model.Id(row => row.Id); } ) .ServerOperation(false) .PageSize(25) ) .Resizable(resize => resize.Columns(true)) .Selectable(selectable => selectable.Mode(GridSelectionMode.Multiple)) .Reorderable(reorder => reorder.Columns(true)) .Pageable(p => p.PageSizes(new[] { 25, 50, 100 })) )
Below are the key configurations. We defining that our grid is multi selectable. Also we defined Cancel button in Grid toolbar
.Selectable(selectable => selectable.Mode(GridSelectionMode.Multiple)) <a class="k-button k-button-icontext" id="cancelItem" href="javascript:void(0)"><span class="k-icon k-cancel"></span>Cancel</a>
Now its time to define the Javascript, which will remove the grid item. Find the INLINE comments for the below code.
// adding click event for cancel button $("#cancelItem").on("click", function (e) { clearSelectedRows("UserGrid"); }); clearSelectedRows = function (gridName) { // identifying grid var entityGrid = $("#" + gridName + "").data("kendoGrid"); // finding all the selected rows var rows = entityGrid.select(); rows.each(function (index, row) { // reading each selected item var selectedItem = entityGrid.dataItem(row); // finally removing selected item from grid data source entityGrid.dataSource.remove(selectedItem); }); }
Happy Kooding… Hope this helps….!