Javascript ag电网主细节中的CellValueChanged事件
我正在开发一个ag网格,主细节设置为true,主细节的第一行有一个可编辑的单元格,即“construcd”,我想根据获取的construcd填充主细节的其他单元格 我尝试在columnDef中添加cellValueChanged,还尝试在detailGrid的onFirstDataRendered方法中显式设置params.api.rowModel.gridApi.cellValueChanged,但没有找到运气 主详细网格代码:Javascript ag电网主细节中的CellValueChanged事件,javascript,ag-grid,ag-grid-angular,Javascript,Ag Grid,Ag Grid Angular,我正在开发一个ag网格,主细节设置为true,主细节的第一行有一个可编辑的单元格,即“construcd”,我想根据获取的construcd填充主细节的其他单元格 我尝试在columnDef中添加cellValueChanged,还尝试在detailGrid的onFirstDataRendered方法中显式设置params.api.rowModel.gridApi.cellValueChanged,但没有找到运气 主详细网格代码: detailCellRendererParams = { d
detailCellRendererParams = {
detailGridOptions: {
columnDefs: [
{ headerName: "Contact ID", field: "contractId", editable: true, [cellValueChanged]: "cellValueChanged()" },
{ headerName: "Contact Name", field: "contractName" },
{ headerName: "Category", field: "category" }]
}
}
onFirstDataRendered(params) {
params.api.rowModel.gridApi.cellValueChanged = function (params) {
console.log("cellChanged");
}
}
使用自定义cellRenderer修复了此问题,并为更改事件添加了eventListener。我只是想在网格的第一行有这个功能,所以在rowIndex中添加了一个条件
detailCellRendererParams = {
detailGridOptions: {
columnDefs: [{headerName: "Contact ID",field: "contractId",editable: true,
cellRenderer: (params) => {
params.eGridCell.addEventListener('change', (e) => {
this.getDetails(e.target.value);
})
},
{headerName: "Contact Name", field: "contractName"},
{headerName: "Category",field: "category"}]
}
}
getDetails(id): void {
this.apiService.getDetails(id)
.subscribe(result => {
this.gridApi.detailGridInfoMap.detail_0.api.forEachNode(node=> {
if(node.rowIndex == 0){
node.data = result;
node.gridApi.refreshCells();
}}
);
})}
如果仍有人怀疑,GridOptions将详细添加:
onCellValueChanged: function ($event) {
// your code here
},
每次更改单元格值时都会触发此操作