Hi mahesh213,
Check this example. Now please take its reference and correct your code.
Database
I have made use of the following table Customers with the schema as follows.
I have already inserted few records in the table.
You can download the database table SQL by clicking the download link below.
Download SQL file
Controller
public class HomeController : Controller
{
//
// GET: /Home/
public ActionResult Index()
{
return View();
}
public JsonResult GetAll()
{
CustomerEntities entities = new CustomerEntities();
List<Customer> customers = entities.Customers.ToList();
return Json(customers, JsonRequestBehavior.AllowGet);
}
public JsonResult DeleteCustomer(int? id)
{
CustomerEntities entities = new CustomerEntities();
Customer customer = entities.Customers.Where(x => x.CustomerId == id).FirstOrDefault();
entities.Customers.DeleteObject(customer);
entities.SaveChanges();
return Json(customer, JsonRequestBehavior.AllowGet);
}
}
View
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Index</title>
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2020.1.114/styles/kendo.default-v2.min.css" />
<script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="https://kendo.cdn.telerik.com/2020.1.114/js/angular.min.js"></script>
<script type="text/javascript" src="https://kendo.cdn.telerik.com/2020.1.114/js/kendo.all.min.js"></script>
<script type="text/javascript">
var app = angular.module("MyApp", ["kendo.directives"]);
app.controller("MyController", function ($scope, $window, $http) {
$scope.mainGridOptions = {
dataSource: { transport: { read: "/Home/GetAll/" }, pageSize: 5 },
pageable: { refresh: true, pageSizes: [2, 25, 50] },
groupable: false,
sortable: true,
columns: [
{ field: "CustomerId", title: "Id" },
{ field: "Name", title: "Name" },
{
title: "Action", lock: true, width: "35%;",
command: [
{
name: "edit", text: "", iconClass: "k-icon k-i-hyperlink-open", className: "ob-edit",
click: function (e) {
// get the current table row (tr).
var tr = $(e.target).closest("tr");
// get the data bound to the current table row.
var id = this.dataItem(tr).Id;
var name = this.dataItem(tr).Name;
$window.alert("Id : " + id + "\nName : " + name);
}
},
{
name: "edit1", text: "", iconClass: "k-icon k-i-delete k-i-trash", className: "ob-deleteuser",
click: function (e) {
// get the current table row (tr).
var tr = $(e.target).closest("tr");
// get the data bound to the current table row.
var id = this.dataItem(tr).CustomerId;
$http({
method: 'POST',
url: '/Home/DeleteCustomer/',
params: { id: id }
}).then(function (response) {
$('#tblCustomers').data('kendoGrid').dataSource.read();
$('#tblCustomers').data('kendoGrid').refresh();
});
}
}]
}
]
};
})
</script>
</head>
<body ng-app="MyApp" ng-controller="MyController">
<kendo-grid options="mainGridOptions" id="tblCustomers"></kendo-grid>
</body>
</html>
Screenshot