@(Html.EJS().Grid("ProductsGrid") .DataSource(dataManager => { dataManager.Url("/Products/UrlDatasource") .InsertUrl("/Products/Insert") .UpdateUrl("/Products/Update") .RemoveUrl("/Products/Delete") .Adaptor("UrlAdaptor") .Offline(true); })
|
[Index.cshtml]
@Html.EJS().Grid("Grid").DataSource(dataManager =>{dataManager.Json(ViewBag.dataSource)
.InsertUrl("/Home/Insert").RemoveUrl("/Home/Delete").UpdateUrl("/Home/Update").Adaptor("RemoteSaveAdaptor");})
.EditSettings(e => { e.AllowAdding(true).AllowEditing(true).AllowDeleting(true); })
.Columns(col => {
col.Field("OrderID").HeaderText("Order ID").IsPrimaryKey(true).Width("30%").Add();
...
}).Render()
[HomeController.cs]
//update the record
public ActionResult Update(OrdersDetails value)
{
...
return Json(value);
}
//insert the record
public ActionResult Insert(OrdersDetails value)
{
...
return Json(new { data = value });
}
//Delete the record
public ActionResult Delete(int key)
{
...
return Json(data);
} |
|
@{
ViewBag.Title = "Grid";
}
<div>
@Html.EJS().Grid("Grid").DataSource(dataManager =>{dataManager.Json(ViewBag.dataSource).InsertUrl("/Home/Insert").RemoveUrl("/Home/Delete").UpdateUrl("/Home/Update").Adaptor("RemoteSaveAdaptor");
}).EditSettings(e => { e.AllowAdding(true).AllowEditing(true).AllowDeleting(true); }).Columns(col =>
{
...
col.Field("OrderID").HeaderText("Order ID").IsPrimaryKey(true).Width("30%").Add();
...
}).ActionBegin("actionBegin").Toolbar(new List<string>() { "Add", "Edit", "Delete", "Update", "Cancel" }).Render()
</div>
<script>
flag = true;
function actionBegin(args) {
if (args.requestType == 'save' && args.action == "add") { //checking the CRUD operation
if (flag) {
args.cancel = flag; //it was canceled the default add operation
var ajax = new ej.base.Ajax("/Home/getStatus", "POST", true);
ajax.send(JSON.stringify(args.data)).then(
function (value) {
if (value.split(',')[0] == "true") {
flag = false;
var gridObj = document.getElementById('Grid').ej2_instances[0];
gridObj.endEdit(); //perform the Save operation
alert(value.split(',')[1]);
}
else {
alert(value.split(',')[1]); //error message
}
}
)
}
flag = true;
}
}
</script> |
|
public ActionResult getStatus(OrdersDetails value) {
var ord = value;
var add = OrdersDetails.GetAllRecords().Where(or => or.OrderID == ord.OrderID).FirstOrDefault(); //Check for duplicate records
if (add == null)
{
return Content("true,Suceessfully inserted");
}
else
{
return Content("false,Duplicate value can't be inserted");
}
} |