我已经通过在项目中成功使用angular实现了ag-Grid。现在尝试通过遵循以下官方ag-Grid文档https://www.ag-grid.com/javascript-grid-for-print/打印ag-Grid数据。
我正在onCellDoubleClicked()方法下调用该打印功能方法。双击单元格时,应打开ag-grid数据打印窗口。但是我遇到了类似“ ERROR TypeError:l.setDomLayout不是函数”的错误。
这是我创建方法的方式。
onCellDoubleClicked($event) {
var gridApi = this.gridApi;
this.setPrinterFriendly(gridApi);
setTimeout(function() {
print();
this.setNormal(gridApi);
}, 2000);
}
setPrinterFriendly(api) {
var eGridDiv = document.querySelector(".my-grid");
this.style.width = "";
this.style.height = "";
api.setDomLayout("print");
}
setNormal(api) {
var eGridDiv = document.querySelector(".my-grid");
this.style.width = "600px";
this.style.height = "200px";
api.setDomLayout(null);
}
任何有想法的人请告诉我,我做错了什么还是正确的做法。预先感谢。
这是错误:
答案 0 :(得分:0)
由于您尝试了this.gridApi.setDomLayout
并且仍然得到'this.gridApi.setDomLayout不是函数错误',我猜this.gridApi
是未定义的。因此,将其添加到您的JavaScript文件中。
onGridReady(params) {
this.gridApi = params.api;
}
这个属性
(gridReady)="onGridReady($event)"
在<ag-grid-angular>
标记内