我试图只打印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
,这也是可能的,但这样就需要关心可见性和覆盖。