|
<ejs-treegrid #treegrid [dataSource]='data' height='400' childMapping='subtasks' [treeColumnIndex]='1'
[editSettings]='editSettings' [toolbar]='toolbar' (toolbarClick)='toolbarClick($event)'>
---------
</ejs-treegrid>
ngOnInit(): void {
this.data = sampleData;
this.editSettings ={ allowEditing: true, allowAdding: true,
allowDeleting: true, mode:"Row", newRowPosition: 'Below'};
this.toolbar = [ { text: 'Add Parent',
tooltipText: 'Add Parent',
id: 'Add Parent' },
{ text: 'Add Child',
tooltipText: 'Add Child',
id: 'Add Child' },
'Delete',
'Update',
'Cancel'];
-----
}
toolbarClick(args: Object): void {
if (args.item.text === 'Add Parent' || args.item.text === 'Add Child') {
//checking if any record is choosen for adding new record below/child to it
if(this.treegrid.getSelectedRecords().length) {
//if the "Add Parent" or "Add Child" option is choose,
setting newRowPosition accordingly and calling "addRecord" method
this.treegrid.editSettings.newRowPosition = (args.item.text == "Add Parent") ? "Below": "Child";
this.treegrid.addRecord();
} else if(args.item.text == "Add Parent") {
this.treegrid.editSettings.newRowPosition = "Below";
this.treegrid.addRecord();
} else {
//for adding with "Child" newRowPosition, a record should be choosen. If not, showing alert
alert("No record selected for Add Operation");
}
}
}
|