|
<ejs-treegrid id="TreeGrid" dataSource="@ViewBag.data" idMapping="TaskId" parentIdMapping='ParentId' allowPaging="true" treeColumnIndex="1" beforeDataBound="beforeDataBound">
<e-treegrid-pagesettings pageSize="7"></e-treegrid-pagesettings>
<e-treegrid-selectionsettings persistSelection="true"></e-treegrid-selectionsettings>
<e-treegrid-columns>
<e-treegrid-column type="checkbox" field="isSelected" width="20"></e-treegrid-column>
<e-treegrid-column field="TaskId" headerText="Task ID" textAlign="Right" width="90"></e-treegrid-column>
. . .
<e-treegrid-column field="Duration" headerText="Duration" textAlign="Right" width="80"></e-treegrid-column>
</e-treegrid-columns>
</ejs-treegrid>
<script>
function beforeDataBound(args) {
var Data = args.result.filter(data => data.isSelected) //get the checkbox selected value in beforeDataBound event
var ajax = new ej.base.Ajax({
url: "/Home/rebindData",
type: "POST",
contentType: "application/json",
datatype: "json",
JSON.stringify({ data: Data }) //pass the data to server end
});
ajax.send();
ajax.onSuccess = function (result) {
alert("Success")
}
}
</script> |
|
<ejs-treegrid id="TreeGrid" dataSource="@ViewBag.data" idMapping="TaskId" actionBegin="actionBegin" actionComplete="actionComplete" parentIdMapping='ParentId' allowPaging="true" treeColumnIndex="1">
. . .
</ejs-treegrid>
<script>
function keydownHandler(e) {
if (e.keyCode == 13) {
e.preventDefault(); //prevent save action on pressing Enter Key
e.stopPropagation();
return;
}
}
function actionBegin(args) {
if (args.requestType == "save") {
Array.from(args.dialog.element.querySelectorAll("input")).map(input => input.removeEventListener("keydown", keydownHandler)); //remove keydown event for input
}
}
function actionComplete(args) {
if (args.requestType == "beginEdit") {
Array.from(args.dialog.element.querySelectorAll("input")).map(input => input.addEventListener("keydown", keydownHandler)); //bind keydown event for input
}
}
<script>
|