|
@{
List<object> commands = new List<object>();
commands.Add(new { type = "taskstatus", buttonOption = new { content = "Details", cssClass = "e-flat e-details" } }); // custom commands
}
<script>
function onLoad() {
this.columns[3].commands[0].buttonOption.click = function (args) { //click event for custom command button, here command is the 3rd column use index value as per your columns order
var treegrid = document.getElementById('TreeGrid').ej2_instances[0]; // create treegrid instance using tree grid id
var rowObj = treegrid.grid.getRowObjectFromUID(ej.base.closest(args.target, '.e-row').getAttribute('data-uid'));
let ajax = new ej.base.Ajax();
ajax.type = "POST"
ajax.url = "Home/MyTestMethod"
ajax.data = JSON.stringify({ value: rowObj.data }); // pass the data to server end
ajax.send();
}
}
</script>
<ejs-treegrid id="TreeGrid" dataSource="@ViewBag.DataSource" idMapping="TaskId" parentIdMapping='ParentId' allowPaging="true" childMapping="Children" load="onLoad" treeColumnIndex="1">
<e-treegrid-pagesettings pageSize="7"></e-treegrid-pagesettings>
<e-treegrid-columns>
…………………………………..
<e-treegrid-column headerText="Manage Records" width="120" commands=commands></e-treegrid-column>
</e-treegrid-columns>
</ejs-treegrid>
// controller page
public void MyTestMethod([FromBody]CRUDModel value) { // do your stuff here }
|