|
<div>
@Html.EJS().Grid("Grid").DataSource((IEnumerable<object>)ViewBag.dataSource).AllowPaging().Columns(col =>
{
..
}).EditSettings(edit => { edit.AllowAdding(true).AllowEditing(true).AllowDeleting(true).Mode(Syncfusion.EJ2.Grids.EditMode.Normal); }).Load("load").ToolbarClick("checkParent").RecordDoubleClick("checkParent").Render()
</div>
var gridid,gridobj;
function load(args) {
var grid = document.getElementById('Grid').ej2_instances[0]
grid.childGrid = {
dataSource: data,
queryString: 'EmployeeID',
editSettings: { allowEditing: true, allowAdding: true,allowDelting: true},
allowPaging: true,
actionBegin: function (args) {
//stores the id for childgrid when triggers
gridid = this.element.id;
gridobj = document.getElementById(gridid).ej2_instances[0];
},
recordDoubleClick: checkIsEditable,
toolbar: ["Add", "Edit", "Update", "Cancel", "Delete"],
toolbarClick: checkIsEditable,
pageSettings: { pageSize: 6, pageCount: 5 },
columns: [
{ field: 'EmployeeID', headerText: 'Employee ID',isPrimaryKey:true, textAlign: 'Right', width: 120 },
{ field: 'FirstName', headerText: 'FirstName', width: 120 },
],
}
}
function checkIsEditable(args) {
var grid = document.getElementById('Grid').ej2_instances[0];
if (gridid && (this.element.id != gridid && gridobj.isEdit)) {
//condition check for whether clicked record is from same grid or not
gridobj.endEdit();
}
if (gridobj && grid.isEdit) {
grid.endEdit();
}
}
function checkParent(args){
if (gridobj) {
//condition check for whether clicked record is any record is editable in childgrid or not
if (gridobj.isEdit) {
gridobj.endEdit();
}
}
} |
|
actionBegin: function (args) {
//stores the id for childgrid when triggers
gridid = this.element.id; //here we can store the last focused grid id as globally for future use
gridobj = document.getElementById(gridid).ej2_instances[0];
},
|
|
@(Html.EJ().Grid<object>("HierarchyGrid")
.Datasource((IEnumerable<object>)ViewBag.data)
.EditSettings(edit => { edit.AllowAdding().AllowDeleting().AllowEditing(); })
…...
.ClientSideEvents(eve => eve.ToolbarClick("checkParent")).ClientSideEvents(eve => eve.RecordDoubleClick("checkParent"))
.Columns(col =>
{
col.Field("EmployeeID").HeaderText("Employee ID").IsPrimaryKey(true).TextAlign(TextAlign.Right).Width(75).Add();
col.Field("FirstName").HeaderText("First Name").Width(100).Add();
col.Field("Title").Width(120).Add();
col.Field("City").Width(100).Add();
col.Field("Country").Width(100).Add();
})
.ChildGrid(child =>
{
child.Datasource(datasource => datasource.Json((IEnumerable<object>)ViewBag.datasource).UpdateURL("/Home/Update")
.InsertURL("/Home/Insert").RemoveURL("/Home/Remove").Adaptor(AdaptorType.RemoteSaveAdaptor))
.QueryString("EmployeeID")
…...
.Columns(col =>
{
col.Field("OrderID").HeaderText("OrderID").IsPrimaryKey(true).TextAlign(TextAlign.Right).Width(75).Add();
col.Field("CustomerID").HeaderText("CustomerID").Width(100).Add();
col.Field("Freight").Width(120).Add();
col.Field("ShipCity").Width(100).Add();
})
.ClientSideEvents(eve => eve.ActionComplete("complete")).ClientSideEvents(eve => eve.ActionBegin("storeID")).ClientSideEvents(eve => eve.ToolbarClick("checkIsEditable")).ClientSideEvents(eve => eve.RecordDoubleClick("checkIsEditable"));
})
)
<script>
var gridid;
var gridobj;
function storeID(args) {
gridid = this.element.attr('id');
alert(gridid);
gridobj = $("#" + gridid).ejGrid("instance");
}
function checkIsEditable(args) {
var grid = $("#HierarchyGrid").ejGrid("instance");
if (gridid && (this.element.attr('id') != gridid && gridobj.isEdit)) {
//condition check for whether clicked record is from same grid or not
gridobj.endEdit();
}
if (gridobj && grid.isEdit) {
grid.endEdit();
}
}
function checkParent(args) {
if (gridobj) {
//condition check for whether clicked record is any record is editable in childgrid or not
if (gridobj.isEdit) {
gridobj.endEdit();
}
}
}
</script> |
|
@(Html.EJ().Grid<object>("HierarchyGrid")
.Datasource((IEnumerable<object>)ViewBag.data)
. . . . .
})
.ClientSideEvents(eve => eve.ToolbarClick("checkParent")).ClientSideEvents(eve => eve.RecordDoubleClick("checkParent"))
.Columns(col =>
{
. . . . .
})
.ChildGrid(child =>
{
child.Datasource(datasource => datasource.Json((IEnumerable<object>)ViewBag.datasource).UpdateURL("/Home/Update")
.InsertURL("/Home/Insert").RemoveURL("/Home/Remove").Adaptor(AdaptorType.RemoteSaveAdaptor))
.QueryString("EmployeeID")
. . . . .
.Columns(col =>
{
col.Field("OrderID").HeaderText("OrderID").IsPrimaryKey(true).TextAlign(TextAlign.Right).Width(75).Add();
col.Field("EmployeeID").HeaderText("EmployeeID").Visible(false).Width(100).Add();
col.Field("CustomerID").HeaderText("CustomerID").Width(100).Add();
col.Field("Freight").Width(120).Add();
col.Field("ShipCity").Width(100).Add();
})
.ClientSideEvents(eve => eve.ActionComplete("complete")).ClientSideEvents(eve => eve.ActionBegin("storeID")).ClientSideEvents(eve => eve.ToolbarClick("checkIsEditable")).ClientSideEvents(eve => eve.RecordDoubleClick("checkIsEditable"));
})
)
<script>
var gridid;
var gridobj;
function storeID(args) {
gridid = this.element.attr('id');
gridobj = $("#" + gridid).ejGrid("instance");
if (args.requestType == "save") {
args.rowData;
}
}
function checkIsEditable(args) {
var grid = $("#HierarchyGrid").ejGrid("instance");
if (gridid && (this.element.attr('id') != gridid)) {
//condition check for whether clicked record is from same grid or not
grid.endEdit();
}
if (gridobj && gridobj.model.isEdit) {
grid.endEdit();
}
if(grid.getContentTable().find(".gridform").length > 0)
$("#" + gridid).ejGrid("endEdit");
}
function checkParent(args) {
if (gridobj) {
//condition check for whether clicked record is any record is editable in childgrid or not
if (gridobj.model.isEdit) {
gridobj.endEdit();
}
}
}
</script> |