2011-09-02 68 views
1

上我有HTMLTABLE其中动态生成的。我想打印这张表。其中包括很多页面。当我用window.print()将其打印成7,8页时。但我的问题是我需要每页上的页眉和页脚(A4尺寸)。如何将页眉和页脚设置为每页。 我正在用C#使用asp.net。如何使用asp.net打印HTML表格。页眉和页脚每个

我把页眉和页脚的.aspx页面上,但问题是,当我打印则刊出多页(即4或5页取决于数据)的数据绑定的动态。 SO报来的第一页和页脚最后一页上,我需要在每一页上的页眉和页脚

请向我提供任何建议或另一种方法做这个任务。

回答

-1

您创建了一个主页面,您可以在其中定义页眉区域和页脚区域,并在每个区域取一个div,然后在页面后面的代码中访问该div,并将生成的html以这种方式 - div分隔。的innerHTML ==“你包含HTML表格字符串”

+0

我母版页。在母版页2视图是他们的。在第二个视图中,一个html表格是动态生成和显示在div中,只有(div.InnerHtml)。但是这个html表格有标题内容和动态生成的页脚部分。我想打印这个。我用window.print,但在每页上显示页眉和页脚,我可以做什么。 – Areeb

+0

母版页不会解决打印问题。 – cjk

0

如果绝对必须有一个页眉/页脚,则需要插入分页符到每一个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(希望)使其更明确需要做什么。

+0

保罗感谢您的帮助我检查您的解决方案,我逐步了解这个例子中我将手动页眉,页脚和分页符在每个单元的唯一问题。假设我的单元格有三行,那么在三行之后页面也会中断。如果TD行的数据不符合页面(A4),页面页脚也会进入下一页。如果你有任何解决方案,那么请建议。 – Areeb

+0

我不会在每个表格行中放置页眉/页脚标签。假设你的数据是表格性质的,你想要做的就是估计在单个页面(x)上有多少行能够适合,然后每x行插入一次标记。但是,如果您有跨多个页面的单个单元格,则此解决方案将无济于事。 –

1
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> 
相关问题