日期:2014-05-18  浏览次数:20445 次

讨论一下关于window.print()分页的问题
首先页面上的每一条数据都是一个table,用的是Repeater控件,里面填充一个table数据集
然后交叉显示每一个数据集
显示结果为
1,2
3,4
5,6
数字代表着Repeater控件里面交叉的数据集
根据A4纸的大小,可以知道每张打印多少数据(7行两列)每一个单元格都是一个数据集也就是Repeater控件里面
绑定的数据集

然后将数据打印出来,数据多的时候,就得要求一个分页显示的效果(这个效果在打印的时候出现就好)
要不然打印出来的数据,上一页跟下一页之间的一条数据(数据集)有可能是分开的

如果在页面上显示的时候加上几个linkbutton来实现上一页下一页的话,那么window.print() 也就是说只打印当前页
所以如果数据很多的话,那么按打印按钮来打印每一页,未免有点麻烦;

怎么样才能单击打印按钮,一下子把数据全部打印,打印出来的带分页效果

之前看到过 把每页的最后一行设置个属性,让它分页,但是对于我这种用Repeater控件绑定的数据适合吗
如果可以的话,那么我在Repeater事件里面 加个计数器,每多少条数据分 一下,这种可以考虑不;

有做过window.print() 打印的同学,进来聊聊,你们打印的时候都是怎么处理这些问题的



------解决方案--------------------
船长说的分页一次打印还真没做过
------解决方案--------------------
这个你要放外层的 tr 里,类似这样:
HTML code
<table>
<tr>
    <td>
        <table>
            <tr><td>a</td></tr>
        </table>
    </td>
    <td>
        <table>
            <tr><td>a</td></tr>
        </table>
    </td>
</tr>
<tr style="page-break-before:always">
    <td>
        <table>
            <tr><td>a</td></tr>
        </table>
    </td>
    <td>
        <table>
            <tr><td>a</td></tr>
        </table>
    </td>
</tr>
</table>