ag-Grid打印功能-角度

时间:2019-01-17 10:56:22

标签: angular ag-grid

我已经通过在项目中成功使用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); 
}

任何有想法的人请告诉我,我做错了什么还是正确的做法。预先感谢。

这是错误:

enter image description here

1 个答案:

答案 0 :(得分:0)

由于您尝试了this.gridApi.setDomLayout并且仍然得到'this.gridApi.setDomLayout不是函数错误',我猜this.gridApi是未定义的。因此,将其添加到您的JavaScript文件中。

onGridReady(params) {
   this.gridApi = params.api;
}

这个属性

(gridReady)="onGridReady($event)"

<ag-grid-angular>标记内