This article will demonstrate the Insert, Update and Delete Operations in a Telerik Grid View.
It is a continuation of my earlier article - Telerik Grid View in ASP.NET MVC2- Part 1 (
http://www.c-sharpcorner.com/uploadfile/2124ae/9566/ ) - in which I
have shown how to display data in a Telerik Grid.
So if you are coming directly to this article - I would recommend you go
through Telerik
Grid View - Part 1. I will be using the project I created in Part 1
So you can download it and follow the below steps to include the Insert , Update
and Delete functionality in Telerik Grid View.
1. Model - Update Repsitory Class
- Open Models-> DataRepository.cs
- Include the below lines of Code for Insert
operations.
//Insert Record from Telerik Grid View
public int
MyArticles_InsertRecord(IndexTelerikGridViewModel
tempVM)
{
try
{
entities.MyArticles.AddObject(new
MyArticle()
{
Title = tempVM.sTitle,
Section = tempVM.sSection,
Views = tempVM.iViews,
Downloads = tempVM.iDownloads,
Status = tempVM.sStatus
});
entities.SaveChanges();
return 1;
}
catch (Exception
ex)
{
return 0;
}
}
-
Include the below lines of Code for Update
operations.
//Update
Record from Telerik Grid View
public int
MyArticles_UpdateRecord(IndexTelerikGridViewModel
tempVM)
{
try
{
var toUpdate = (from
MyArticle in
entities.MyArticles where
MyArticle.ArticleID == tempVM.iArticleID select
MyArticle).FirstOrDefault();
if (toUpdate !=
null)
{
toUpdate.Title=tempVM.sTitle;
toUpdate.Section=tempVM.sSection;
toUpdate.Views=tempVM.iViews;
toUpdate.Downloads=tempVM.iDownloads;
toUpdate.Status = tempVM.sStatus;
}
entities.SaveChanges();
return 1;
}
catch(Exception
ex)
{
return 0;
}
}
-
Include the below lines of Code for Delete
operations.
//Delete Record from Telerik Grid View
public
int MyArticles_DeleteRecord(IndexTelerikGridViewModel
tempVM)
{
try
{
var toDelete = (from
MyArticle in
entities.MyArticles where
MyArticle.ArticleID == tempVM.iArticleID select
MyArticle).FirstOrDefault();
if (toDelete !=
null)
{
entities.DeleteObject(toDelete);
entities.SaveChanges();
}
return 1;
}
catch (Exception
ex)
{
return 0;
}
}
2. Controller - Include methods for Insert, Update and Delete Action
-
Open Controllers-> HomeController.cs
-
In part 1 - we have defined one action which
populated our Telerik Grid based from the database.
-
Here we will add 3 more actions which would
respond for Insert, Update and Delete operations.
-
Action for Insert
//Telerik GridView-Insert Action
[AcceptVerbs(HttpVerbs.Post)]
public
ActionResult ArticlesTGVInsert()
{
IndexTelerikGridViewModel
objArticles = new
IndexTelerikGridViewModel();
//route
values defining the grid state - current page, sort expression, filter etc.
RouteValueDictionary
routeValues=this.GridRouteValues();
if (TryUpdateModel(objArticles))
{
int success_Insert =
objRepository.MyArticles_InsertRecord(objArticles);
if (success_Insert == 1)
{
TempData["UploadValidationMessage_Success"]
= "Insert Operation Succeded!!";
}
else
{
TempData["UploadValidationMessage_Failure"]
= "Insert Operation Failded!!";
}
}
return RedirectToAction("Index",routeValues);
}
-
Action for Update
//Telerik
GridView-Update Action
[AcceptVerbs(HttpVerbs.Post)]
public
ActionResult ArticlesTGVUpdate(int
id)
{
IndexTelerikGridViewModel
objArticles = new
IndexTelerikGridViewModel
{
iArticleID = id
};
if (TryUpdateModel(objArticles))
{
int success_Update =
objRepository.MyArticles_UpdateRecord(objArticles);
//route values defining the grid
state - current page, sort expression, filter etc.
RouteValueDictionary
routeValues = this.GridRouteValues();
if (success_Update == 1)
{
TempData["UploadValidationMessage_Success"]
= "Update Operation Succeeded";
return RedirectToAction("Index",
routeValues);
}
else
{
TempData["UploadValidationMessage_Failure"]
= "Update Operation Failed";
return RedirectToAction("Index",
routeValues);
}
}
//The model is invalid - render the
current view to show any validation errors
return RedirectToAction("Index");
-
Action for Delete
//Telerik GridView-Delete Action
[AcceptVerbs(HttpVerbs.Post)]
public
ActionResult ArticlesTGVDelete(int
id)
{
IndexTelerikGridViewModel
objArticles = new
IndexTelerikGridViewModel
{
iArticleID=id
};
//route values defining the grid state - current
page, sort expression, filter etc.
RouteValueDictionary
routeValues = this.GridRouteValues();
if (objArticles ==
null)
{
routeValues = this.GridRouteValues();
return RedirectToAction("Index",
routeValues);
}
//Delete the Record
int success_Delete =
objRepository.MyArticles_DeleteRecord(objArticles);
if (success_Delete == 1)
{
routeValues = this.GridRouteValues();
TempData["UploadValidationMessage_Success"]
= "Delete Operation Succeeded";
return RedirectToAction("Index",
routeValues);
}
else
{
TempData["UploadValidationMessage_Failure"]
= "Delete Operation Failed";
}
return RedirectToAction("Index",
routeValues);
}
3. View - Update Telerik Grid View
-
Open Views->Home->Index.aspx - where we
inlcuded our Telerik Grid View in part1
-
Update the Telerik Grid View Code-code in yellow
background - new lines of code added to inlcude the Insert, Update and
Delete button with the corresponding Actions being called.
<%=
Html.Telerik().Grid(Model)
.Name("tgvArticle")
.DataKeys(keys=>keys.Add(c=>c.iArticleID))
.ToolBar(commands
=> commands.Insert().ButtonType(GridButtonType.ImageAndText))
.DataBinding(databinding =>
databinding.Server()
.Insert("ArticlesTGVInsert",
"Home")
.Update("ArticlesTGVUpdate",
"Home")
.Delete("ArticlesTGVDelete",
"Home"))
.Columns(columns=>
{
columns.Bound(p=>p.sTitle).Title("Title").Width(100);
columns.Bound(p=>p.sSection).Title("Section").Width(200);
columns.Bound(p=>p.iViews).Title("Views").Width(100);
columns.Bound(p=>p.iDownloads).Title("Downloads").Width(100);
columns.Bound(p=>p.sStatus).Title("Status").Width(120);
columns.Command(commands =>
{
commands.Edit().ButtonType(GridButtonType.ImageAndText);
commands.Delete().ButtonType(GridButtonType.ImageAndText);
}).Width(180).Title("Commands");
}).Pageable()
.Sortable()
.Filterable()
%>
4. Update Index.aspx - to include the Success or Faliure message
<span
style="color:Red;font-weight:bold">
<%=TempData["UploadValidationMessage_Failure"]%>
</span>
<span
style="color:Green;font-weight:bold">
<%=TempData["UploadValidationMessage_Success"]%>
</span>
5. Run the application
Here we have seen how to perform Insert , Update and Delete operations in
Telerik Grid View.
Happy Learning!