簡體   English   中英

我如何使用asp.net打印HTML表。 每頁的頁眉和頁腳

[英]how do i print HTML table using asp.net. Header and footer on each page

我有動態生成的htmltable。 我想打印這張桌子。 其中包含很多頁面。 當我使用window.print()將其打印為7、8頁時。 但我的問題是我需要在每頁上的頁眉和頁腳(A4尺寸)。 如何為每個頁面設置頁眉和頁腳。 我在C#中使用asp.net。

我在.aspx頁上放置了頁眉和頁腳,但是問題是當我打印時數據綁定是動態的,然后打印進入多頁(即4或5頁取決於數據)。 所以頁眉出現在首頁上,頁腳位於最后一頁上,我需要在每一頁上添加頁眉和頁腳

請提供任何建議或其他方式來完成此任務。

I tried this solution its working.

<style type="text/css">
@media print {
thead { display: table-header-group; }
tfoot { display: table-footer-group; }
}
@media screen {
thead { display: block; }
tfoot { display: block; }
}

 </style>


 <body>
 <table>
 <thead><tr><td>Your header goes here</td></tr></thead>
 <tbody>
  <tr><td>
   Page body in here -- as long as it needs to be
   </td></tr>
 </tbody>
 <tfoot><tr><td>Your footer goes here</td></tr></tfoot>
 </table>
 </body>

如果絕對必須有頁眉/頁腳,則需要在每個X表單元格中插入一個分頁符,其中X是要在每個頁面上顯示的單元格數。 分頁符將必須重復您的頁眉和頁腳。

因此,您的表將如下所示:

HEADER
<table>
  <tr><td>Cell Data</td></tr>
  <!-- A bunch of rows -->
  <tr><td>Cell Data</td></tr>
  <tr>
    <td>
    Cell Data
    <div class="pagebreak">
      <div>FOOTER</div>
      <!-- Print page will break here -->
      <div class="header">HEADER</div>
    </div>
    </td>
  </tr>
  <tr><td>Cell Data</td></tr>
  <!-- A bunch of rows -->
  <tr><td>Cell Data</td></tr>
  <tr>
    <td>
    Cell Data
    <div class="pagebreak">
      <div>FOOTER</div>
      <!-- Print page will break here -->
      <div class="header">HEADER</div>
    </div>
    </td>
  </tr>
</table>
FOOTER

然后將以下樣式添加到您的頁面:

<style type="text/css">
@media all
{
    .pagebreak  { display:none; }
}
@media print
{  
    .pagebreak  { display:block; }
    .pagebreak div.header  { display:block;page-break-before:always; }
}
</style>

編輯:我將HTML更新為(希望)使其更清楚需要完成的工作。

您創建一個母版頁,在其中定義頁眉區域和頁腳區域,並在每個區域中使用一個div,然后在頁面后面的代碼中訪問該div,然后將生成的html放入div中,方法如下: div.InnerHtml ==“ you string包含html表”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM