|
let grid: Grid = new Grid({
dataSource: employeeData,
toolbar: [ ],
columns: [
{ field: 'EmployeeID', headerText: 'Employee ID', textAlign: 'Right', width: 125 },
{ field: 'FirstName', headerText: 'Name', width: 125 },
{ field: 'Title', headerText: 'Title', width: 180 },
{ field: 'City', headerText: 'City', width: 110 }
],
contextMenuItems: [
{ text: "Edit Content", target: ".e-content", id: "custom-edit", iconCss: "fas fa-pencil-alt" },
{ text: "Edit Sequencing", target: ".e-content", id: "sequencing", iconCss: "fas fa-pencil-alt" },
],
contextMenuOpen: (args: BeforeOpenCloseMenuEventArgs) => {
let data: any = grid.getSelectedRecords()[0];
if(data.EmployeeID%2 == 0) {
grid.contextMenuModule.contextMenu.hideItems(['Edit Sequencing']);
}
else {
grid.contextMenuModule.contextMenu.showItems(['Edit Sequencing']);
}
},
childGrid: {
dataSource: hierarchyOrderdata,
queryString: 'EmployeeID',
columns: [
{ field: 'OrderID', headerText: 'Order ID', textAlign: 'Right', width: 120 },
{ field: 'ShipCity', headerText: 'Ship City', width: 120 }
],
// bind the contextMenuItems for the childGrid
contextMenuItems: [
{ text: "Edit Content", target: ".e-content", id: "custom-edit", iconCss: "fas fa-pencil-alt" },
{ text: "Edit Sequencing", target: ".e-content", id: "sequencing", iconCss: "fas fa-pencil-alt" },
],
contextMenuOpen: (args: BeforeOpenCloseMenuEventArgs) => {
let data: any = args.rowInfo.rowData;
// get the childGrid Instances
let childgridinstances = (parentsUntil(args.rowInfo.cell, 'e-grid') as any).ej2_instances[0];
// hiding and showing the contextMenuItems
if(data.EmployeeID%2 == 0) {
childgridinstances.contextMenuModule.contextMenu.hideItems(['Edit Sequencing']);
}
else {
childgridinstances.contextMenuModule.contextMenu.showItems(['Edit Sequencing']);
}
},
}
});
grid.appendTo('#Grid');
|