Javascript 仅打印ag网格数据而不分页或任何其他内容的有效方法

Javascript 仅打印ag网格数据而不分页或任何其他内容的有效方法,javascript,printing,ag-grid,ag-grid-angular,Javascript,Printing,Ag Grid,Ag Grid Angular,我正在尝试只打印ag网格数据,如中的“打印”按钮 1-我试过ngx打印,但与angular 8不兼容 2-我试过了官方的方法 但我认为这不是一种有效的方式,当你打印的时候,它也会显示分页和其他页面内容 我通过以下步骤尝试了angular插件: 1-通过以下方式安装 2-调用节点angular.json内的.js文件(包含系统中要使用的所有插件的文件) 但是,它仍然无法将.printThis()识别为函数 我不知道如何打印唯一的ag网格数据而不打印页面的其他内容,为什么没有内置的ag网格功能,比如

我正在尝试只打印ag网格数据,如中的“打印”按钮

1-我试过ngx打印,但与angular 8不兼容

2-我试过了官方的方法 但我认为这不是一种有效的方式,当你打印的时候,它也会显示分页和其他页面内容

我通过以下步骤尝试了angular插件:

1-通过以下方式安装 2-调用节点angular.json内的.js文件(包含系统中要使用的所有插件的文件) 但是,它仍然无法将.printThis()识别为函数

我不知道如何打印唯一的ag网格数据而不打印页面的其他内容,为什么没有内置的ag网格功能,比如DataTable插件

2-我尝试了ag网格示例中的官方方法,但我认为不是 一种有效的方法还可以显示其分页和另一页内容 当你打印的时候

但这已经是打印所有数据(无网格分页)的一种高效且符合预期的方法

如果您想隐藏其他内容(如果没有页面的其他内容,您无法理解
是什么意思?
)-需要预先呈现此数据(或至少准备浏览器打印方法)

更新

我检查了
datatable
解决方案,基本上正如我所说的,他们刚刚准备了一个函数,在新的
窗口中创建
datatable
内容,将其与其他内容隔离,然后执行
print()
方法

以下是一个(仅供理解):

//构造一个用于打印的表
var html='';
if(config.header){
html+=''+addRow(data.header,'th')+'';
}
html+='';
对于(var i=0,ien=data.body.length;i
2-我尝试了ag网格示例中的官方方法,但我认为不是
一种有效的方法还可以显示其分页和另一页内容
当你打印的时候

但这已经是打印所有数据(无网格分页)的一种高效且符合预期的方法

如果您想隐藏其他内容(如果没有页面的其他内容,您无法理解
是什么意思?
)-需要预先呈现此数据(或至少准备浏览器打印方法)

更新

我检查了
datatable
解决方案,基本上正如我所说的,他们刚刚准备了一个函数,在新的
窗口中创建
datatable
内容,将其与其他内容隔离,然后执行
print()
方法

以下是一个(仅供理解):

//构造一个用于打印的表
var html='';
if(config.header){
html+=''+addRow(data.header,'th')+'';
}
html+='';

对于(var i=0,ien=data.body.length;ino非有效方式为什么我要在没有分页的情况下使用打印功能?为什么我要对打印功能进行调整大小操作?我的客户想要分页和打印?!!查看dataTable中的打印功能你会明白我所说的有效方式是什么!@un.spike这看起来像是一条评论,不是吗答案!@un.spike如果您在中尝试该示例,您将发现ag网格尚未分页,打印时您将发现打印按钮出现在打印预览中!!!@user3189162是的,我遇到了您的问题,这就是为什么在answer@un.spike谢谢你的帮助,但我还有另一个问题,所以代码中你附加了我应该放在哪里?它是否保持ag网格样式?没有无效的方法为什么我应该在没有分页的情况下制作ag网格以使用打印功能?为什么我应该对打印功能进行调整大小操作?我的客户想要分页和打印?!查看dataTable中的打印功能你会理解我所说的有效方法!@un.spi让这看起来像一条评论,而不是一个答案!@un.spike如果你尝试了中的示例,你会发现ag网格已经没有分页,当你打印时,你会发现打印按钮出现在打印预览中!!!@user3189162是的,我有你的问题,这就是为什么在answer@un.spike谢谢你的帮助,但我还有一件事要做nquiry,那么您附加的代码部分应该放在哪里?它是否保持ag网格样式?
// Construct a table for printing
var html = '<table class="'+dt.table().node().className+'">';

if ( config.header ) {
    html += '<thead>'+ addRow( data.header, 'th' ) +'</thead>';
}

html += '<tbody>';
for ( var i=0, ien=data.body.length ; i<ien ; i++ ) {
    html += addRow( data.body[i], 'td' );
}
html += '</tbody>';

if ( config.footer && data.footer ) {
    html += '<tfoot>'+ addRow( data.footer, 'th' ) +'</tfoot>';
}
html += '</table>';

...

// Allow stylesheets time to load
var autoPrint = function () {
    if ( config.autoPrint ) {
        win.print(); // blocking - so close will not
        win.close(); // execute until this is done
    }
};