|
[index.cshtml]
@{Html.EJ().Grid<object>("Grid")
.Locale("pt-BR")
.Datasource(ds => ds.Json((IEnumerable<object>)ViewBag.datasource).BatchURL("/Home/BatchUpdate").Adaptor(AdaptorType.RemoteSaveAdaptor))
.EditSettings(edit => { edit.AllowAdding().AllowDeleting().AllowEditing().RowPosition(RowPosition.Bottom).
EditMode(EditMode.Batch).ShowConfirmDialog(false); })
…...
.Columns(col =>
{
col.Field("OrderID").HeaderText("OrderID").IsPrimaryKey(true).Visible(false).Add();
…...
})
.Render();
}
[controller.cs]
public IActionResult BatchUpdate([FromBody]List<Order> changed, [FromBody]List<Order> added, [FromBody]List<Order> deleted)
{
if (changed != null && changed.Count > 0)
{
foreach (var temp in myObject.Changed)
{
var ord = temp;
Orders val = orddata.Where(or => or.OrderID == ord.OrderID).FirstOrDefault();
val.OrderID = ord.OrderID;
val.EmployeeID = ord.EmployeeID;
val.CustomerID = ord.CustomerID;
val.OrderDate = ord.OrderDate;
val.ShipCity = ord.ShipCity;
}
}
if (myObject.Added != null && myObject.Added.Count > 0)
{
Random ran = new Random();
foreach (var temp in myObject.Added)
{
temp.OrderID = ran.Next();
orddata.Insert(0, temp);
}
} if (deleted != null && deleted.Count > 0)
{
foreach (var temp in deleted)
{
orddata.Remove(orddata.Where(or => or.OrderID == temp.OrderID).FirstOrDefault());
}
}
var data = orddata;
return Json(new { added = added, changed = changed, deleted = deleted });
} |
|
@{Html.EJ().Grid<object>("Grid")
.Datasource(ds => ds.Json((IEnumerable<object>)ViewBag.datasource).BatchURL("/Home/BatchUpdate").Adaptor(AdaptorType.RemoteSaveAdaptor))
…...
.ClientSideEvents(eve => eve.BeforeBatchSave("Save"))
.Columns(col=> {
col.Field("OrderID").HeaderText("OrderID").IsPrimaryKey(true).Visible(false).Add();
col.Field("EmployeeID").HeaderText("EmployeeID").Add();
col.Field("CustomerID").HeaderText("CustomerID").Add();
col.Field("ShipCity").HeaderText("ShipCity").Add();
})
.Render();
}
<script type="text/javascript">
function Save(args) {
args.batchChanges.added[0].OrderID = 12345;
}
</script> |