|
import { enableRipple, closest } from '@syncfusion/ej2-base';
Grid.Inject(Page, Selection, DetailRow);
let grid: Grid = new Grid({
dataSource: employeeData,
allowSorting: true,
columns: [
{ field: 'EmployeeID', headerText: 'Employee ID', width: 125 },
{ field: 'FirstName', headerText: 'Name', width: 125 },
],
childGrid: {
dataSource: dataManger,
queryString: 'EmployeeID',
allowPaging: true,
columns: [
{ field: 'OrderID', headerText: 'Order ID' width: 120 },
],
},
});
grid.appendTo('#Grid');
grid.element.addEventListener('click', (e) => {
let cell = closest(e.target, 'td'); // details cell element
if (cell.classList.contains('e-detailrowexpand')) {
const rowIndex = parseInt(cell.parentElement.getAttribute('aria-rowindex'), 10);
const data = grid.getCurrentViewRecords()[rowIndex]; // get details row data
alert("Child Grid");
}
});
|