|
[GridFeatures.cshtml]
@(Html.EJ().Grid<OrdersView>("Grid")
.Datasource(ds => ds.URL("/Grid/DataSource").BatchURL("/Grid/BatchUpdate").Adaptor(AdaptorType.UrlAdaptor))
.AllowPaging()
.ToolbarSettings(a => a.ShowToolbar().ToolbarItems(b =>
{
b.AddTool(ToolBarItems.Add);
b.AddTool(ToolBarItems.Edit);
b.AddTool(ToolBarItems.Delete);
b.AddTool(ToolBarItems.Update);
b.AddTool(ToolBarItems.Cancel);
}))
.EditSettings(edit=> edit.AllowAdding().AllowDeleting().AllowEditing().EditMode(EditMode.Batch))
.Columns(col =>
{
col.Field("OrderID").HeaderText("Order ID").IsPrimaryKey(true).Width(80).Add();
col.Field("EmployeeID").HeaderText("Employee ID").Width(85).Add();
col.Field("CustomerID").HeaderText("Customer ID").TextAlign(TextAlign.Left).Width(90).Add();
col.Field("Verified").Type("boolean").EditType(EditingType.BooleanEdit).Width(85).Add();
col.Field("Attendance").Type("boolean").EditType(EditingType.BooleanEdit).Width(85).Add();
})
)
------------------------------------------------------------------------------------------------------
[GridController.cs]
public ActionResult BatchUpdate(List<Orders> changed, List<Orders> added, List<Orders> deleted)
{
if (changed != null)
{
for(var i = 0; i < changed.Count(); i++)
{
var val = order.Where(or => or.OrderID == changed[i].OrderID).FirstOrDefault();
val.OrderID = changed[i].OrderID;
val.EmployeeID = changed[i].EmployeeID;
val.CustomerID = changed[i].CustomerID;
val.Freight = changed[i].Freight;
val.Verified = changed[i].Verified;
val.Attendance = changed[i].Attendance;
}
}
if (deleted != null)
{
for(var j = 0; j < deleted.Count(); j++)
order.Remove(order.Where(or => or.OrderID == deleted[j].OrderID).FirstOrDefault());
}
if (added != null)
{
for(var k = 0; k < added.Count(); k++)
order.Insert(0, added[k]);
}
var data = order;
return Json(data, JsonRequestBehavior.AllowGet);
}
|