如何使用JavaScript在单独的页面中打印每个gridview

时间:2016-08-30 12:02:41

标签: javascript asp.net

我的页面中有3个网格视图。我正在使用javascript打印所有这些。

现在我想在一个单独的页面中打印每个gridview。

以下是我的JavaScript代码。

<script type = "text/javascript">
function PrintPanel() {
  var panel = document.getElementById("<%=pnlContents.ClientID %>");
  var printWindow = window.open('', '', 'height=400,width=800');

  printWindow.document.write('<html><head><title></title>');
  printWindow.document.write('</head><body >');
  printWindow.document.write(panel.innerHTML);
  printWindow.document.write('</body></html>');
  printWindow.document.close();

  setTimeout(function () {
    printWindow.print();
  }, 500);

  return false;
}
</script>

1 个答案:

答案 0 :(得分:0)

我使用CSS为我做这件事: 的CSS:

.pageBreak {
    position: relative;
    page-break-after: always
 }

HTML:

<div id="gridView1" class="pageBreak">
   <!-- your grid view -->
</div>

在你的情况下可能是这样的:

<script type = "text/javascript">
function PrintPanel() {
    var panel = document.getElementById("<%=pnlContents.ClientID %>");
    var printWindow = window.open('', '', 'height=400,width=800');
    printWindow.document.write('<html><head><title></title>');
    printWindow.document.write('</head><body>');
    printWindow.document.write('<div class="pagereak"'); 
    printWindow.document.write(panel.innerHTML);
    printWindow.document.write('</div></body></html>');
    printWindow.document.close();
    setTimeout(function () {
        printWindow.print();
    }, 500);
    return false;
}
</script>

虽然在你的情况下,pageBreak类应该是;我想在innerHTML中