You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ui-grid v3.2.9打印问题求助:如何实现全内容打印而非仅可见区域?

解决ui-grid v3.2.9打印不全的问题

我来帮你搞定这个打印只出可见区域的问题~核心原因是ui-grid默认的样式给容器加了固定高度和overflow: auto,导致新窗口里的表格内容被滚动条截断,打印时只能捕获可见部分。下面是针对性的改进方案:

问题根源拆解

ui-grid的.ui-grid、.ui-grid-viewport等容器默认设置了固定高度和滚动属性,当数据量过大时,超出部分会被隐藏。直接复制HTML到新窗口时,这些样式会被继承,导致打印内容不全。

改进后的代码实现

function print(id){
  var printGrid = document.getElementById(id);
  var printWindow = window.open("", "_blank");
  
  // 复制原页面头部样式,同时添加打印专用的覆盖样式
  var headContent = document.getElementsByTagName('head')[0].outerHTML;
  var printSpecificStyles = `
    <style>
      /* 强制ui-grid容器自适应高度,移除滚动限制 */
      .ui-grid, .ui-grid-viewport, .ui-grid-canvas {
        height: auto !important;
        overflow: visible !important;
      }
      /* 隐藏分页栏(如果你的网格有分页,打印全部数据) */
      .ui-grid-pager-panel {
        display: none !important;
      }
      /* 打印时的页面优化 */
      @media print {
        body {
          margin: 0;
          padding: 1rem;
        }
        /* 避免表格行被分页截断 */
        .ui-grid-row {
          page-break-inside: avoid;
        }
      }
    </style>
  `;
  
  // 组装完整的HTML内容
  var htmlContent = `
    <html>
      <head>${headContent}${printSpecificStyles}</head>
      <body>${printGrid.outerHTML}</body>
    </html>
  `;
  
  printWindow.document.write(htmlContent);
  printWindow.document.close();
  
  // 用requestAnimationFrame替代固定延时,确保内容完全渲染后再打印
  printWindow.requestAnimationFrame(function() {
    printWindow.focus();
    printWindow.print();
    printWindow.close();
  });
}

关键改动说明

  • 强制自适应高度:通过!important覆盖ui-grid默认的固定高度和滚动样式,让所有表格行都展开显示,不会被滚动条隐藏。
  • 打印样式优化:添加@media print规则,调整页面边距,避免表格行被分页截断,提升打印排版效果。
  • 更可靠的渲染时机:用requestAnimationFrame替代固定的1000ms延时,能精准等待新窗口的内容和样式完全渲染完成,避免因渲染速度慢导致的打印不全。
  • 隐藏分页栏:如果你的网格启用了分页,这一步会自动隐藏分页控件,打印全部数据而非当前页内容。

额外注意事项

如果你的网格使用了固定列(frozen columns),可能需要额外调整样式,比如让固定列和普通列合并为一个完整的表格,避免打印时出现重叠或错位。可以添加如下样式:

.ui-grid-frozen-row, .ui-grid-frozen-column {
  position: relative !important;
}

内容的提问来源于stack exchange,提问作者Vikash Gupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:29:34