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



我试图只打印ag网格数据,例如数据表打印中的打印按钮

1-我试过ngx打印,但它不适用于angular 8。

2-我尝试了ag grid的官方方式示例但我认为这不是一种有效的方式,在打印时也会显示分页和其他页面内容。

我试着通过以下步骤打印这个插件的角度:

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

我不知道如果没有页面的其他内容,我怎么能打印出唯一的ag网格数据,为什么没有DataTable插件这样的ag网格内置功能?!!!

2-我尝试了ag网格示例的官方方法,但我认为不是显示分页和其他页面内容也是一种有效的方式打印时。

但这已经是打印所有数据的一种高效且预期的方式(无需网格分页(。

如果你想隐藏其他东西(无法意识到without another content of the page是什么意思(,则需要预渲染此数据(或至少为浏览器打印方法做好准备(

更新

我检查了datatable的解决方案,基本上和我说的完全一样,他们只是准备了一个函数,使datatable内容在新的window上与其他内容隔离,然后执行print()方法。

以下是他们代码的一部分(仅供理解(:

// 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
}
};

此外,我尝试使用hiding elements,这也是可能的,但这样就需要关心可见性和覆盖。

相关内容

最新更新