Hi I am trying to build a group by data table that uses a master detail in the leaf row of the groupby. But for some reason the the show/hide for the master detail is on every row.
[master detail button on every row](https://i.sstatic.net/mlN0FDsM.png>
let gridApi;
const data = [{"docid": 10141, "item count": 7, "items": [{"item Id": 8921, "description": "Parts"}, {"item Id": 7250, "description": "Training"}, {"item Id": 741, "description": "Training"}, {"item Id": 3956, "description": "office supplies"}, {"item Id": 755, "description": "equipment"}, {"item Id": 8856, "description": "Parts"}, {"item Id": 8601, "description": "equipment"}], "document Type": "Purchase Order", "Dollar": 335945, "duration": 9.16}, {"docid": 10456, "item count": 4, "items": [{"item Id": 7722, "description": "Parts"}, {"item Id": 1727, "description": "Parts"}, {"item Id": 4516, "description": "equipment"}, {"item Id": 3569, "description": "Training"}], "document Type": "Requisition", "Dollar": 175972, "duration": 5.56}, {"docid": 10190, "item count": 5, "items": [{"item Id": 9924, "description": "equipment"}, {"item Id": 4540, "description": "equipment"}, {"item Id": 9833, "description": "equipment"}, {"item Id": 4926, "description": "Training"}, {"item Id": 8839, "description": "office supplies"}], "document Type": "SPO", "Dollar": 483392, "duration": 1.18}, {"docid": 10287, "item count": 2, "items": [{"item Id": 7747, "description": "office supplies"}, {"item Id": 6877, "description": "Parts"}], "document Type": "Requisition", "Dollar": 793903, "duration": 1.48}, {"docid": 10223, "item count": 6, "items": [{"item Id": 3995, "description": "office supplies"}, {"item Id": 8183, "description": "Training"}, {"item Id": 3152, "description": "Parts"}, {"item Id": 3164, "description": "Training"}, {"item Id": 8305, "description": "office supplies"}, {"item Id": 4433, "description": "Training"}], "document Type": "Bid", "Dollar": 521557, "duration": 5.57}, {"docid": 10897, "item count": 2, "items": [{"item Id": 4448, "description": "Parts"}, {"item Id": 4658, "description": "office supplies"}], "document Type": "Requisition", "Dollar": 754054, "duration": 1.23}, {"docid": 10133, "item count": 2, "items": [{"item Id": 5912, "description": "equipment"}, {"item Id": 4827, "description": "Training"}], "document Type": "Bid", "Dollar": 342732, "duration": 1.21}, {"docid": 10879, "item count": 6, "items": [{"item Id": 2451, "description": "equipment"}, {"item Id": 7837, "description": "office supplies"}, {"item Id": 3609, "description": "equipment"}, {"item Id": 8183, "description": "equipment"}, {"item Id": 2147, "description": "Parts"}, {"item Id": 2537, "description": "office supplies"}], "document Type": "Requisition", "Dollar": 336316, "duration": 5.92}, {"docid": 10526, "item count": 7, "items": [{"item Id": 8968, "description": "equipment"}, {"item Id": 2540, "description": "office supplies"}, {"item Id": 3866, "description": "office supplies"}, {"item Id": 7936, "description": "Training"}, {"item Id": 3426, "description": "Parts"}, {"item Id": 5420, "description": "office supplies"}, {"item Id": 9322, "description": "equipment"}], "document Type": "SPO", "Dollar": 85605, "duration": 7.37}, {"docid": 10784, "item count": 3, "items": [{"item Id": 7198, "description": "equipment"}, {"item Id": 4552, "description": "equipment"}, {"item Id": 2824, "description": "Parts"}], "document Type": "SPO", "Dollar": 804100, "duration": 0.64}]
const gridOptions = {
columnDefs: [
// group cell renderer needed for expand / collapse icons
{ field: "document Type", rowGroup:true,hide:true},
{ headerName: 'Doc Id', field: "docid"},
{ field: "item count",cellRenderer: "agGroupCellRenderer"},
{ field: "Dollar"},
{ field: "duration"},
],
defaultColDef: {
flex: 1,
},
showOpenedGroup:true,
enableCellTextSelection:true,
groupDisplayType:"multipleColumns",
masterDetail: true,
detailCellRendererParams: {
detailGridOptions: {
columnDefs: [
{ field: "item Id" },
{ field: "description" },
],
defaultColDef: {
flex: 1,
},
},
getDetailRowData: (params) => {
// simulate delayed supply of data to the detail pane
params.successCallback(params.data.items);
},
},
};
// setup the grid after the page has finished loading
document.addEventListener("DOMContentLoaded", function () {
var gridDiv = document.querySelector("#myGrid");
gridApi = agGrid.createGrid(gridDiv, gridOptions);
gridApi.setGridOption("rowData", data);
});
I expect to see the button for the master detail at the leaf level row.
New contributor
Derrick Chow is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.