asp对分页后的数据进行连续的打印,这里本人认为主要涉及两个问题
一、禁止某些区域被打印
二、asp连续分页打印的实现
三、IE的正确设置
我们先来看看主要全部代码,方便直接套用这代码
| 以下是代码片段: <style media="print"> <!-- .noprint{display:none;} --> </style> <style> .break{page-break-before:always} </style> <p> <% sqlstr = ........ Set Rs = server.createobject("Adodb.RecordSet") Rs.open sqlstr,conn,1,1 If Not Rs.bof or Not Rs.eof Then .............%> </p> <table width="996" border="0" align="center"> <tr> <td height="25" align="left" class="noprint">※ 这里的内容不需要打印</td> <td align="right" class="noprint">这里的内容不需要打印</td> </tr> <tr> <td align="left" class="noprint"><%="共找到<span class=’redfont’>"&recocount&"</span>条记录符合您的条件"%></td> <td width="350" align="right" class="noprint"><% If TopPage Then Response.Write "[上页] " Else Response.Write "<a href=’?page="&page-1&"’ class=’gray’>[上页]</a> " End If If BottomPage Then Response.write "[下页]" Else Response.write "<a href=’?page="&page+1&"’ class=’gray’>[下页]</a>" End If ’-- 打印全部 response.write "<div style=’display:none;’>" for wholepage=1 to pagecounts response.write "<a href=’?page="&wholepage&"’>"&wholepage&"</a>" next response.write "</div>" %></td> </tr> </table> <table width="996" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#000000" style="border-collapse:collapse;"> <tr> <td width="35" height="20" align="center" bgcolor="#FFFFFF">序号</td> <td width="125" align="center" bgcolor="#FFFFFF">日期</td> <td width="65" align="center" bgcolor="#FFFFFF">姓名</td> <td width="35" align="center" bgcolor="#FFFFFF">性别</td> </tr> <% Dim iii : iii = 1 iii = page * pageSizes - pageSizes For a = 1 To PageSizes iii = iii + 1 if rs.bof or rs.eof then exit for %> <tr> <td height="25" align="center"><%=iii%></td> <td align="center"><%=rs("AccessDate")%></td> <td align="left" style="padding-left:5px;"><%=rs("Name")%></td> <td align="center"><%=SexPrint(rs("Sex"))%></td> </tr> <% if a = pagesizes+1 then %> <div class="break"> </div> <tr> <td width="35" height="20" align="center" bgcolor="#FFFFFF">序号</td> <td width="125" align="center" bgcolor="#FFFFFF">日期</td> <td width="65" align="center" bgcolor="#FFFFFF">姓名</td> <td width="35" align="center" bgcolor="#FFFFFF">性别</td> </tr> <% end if rs.movenext next End If Rs.close Set Rs = nothing %> </table> |
一、禁止某些区域被打印,这个相对来说比较简单,设定一个样式就可以了,主要是以下代码
| 以下是引用片段: <style media="print"> <!-- .noprint{display:none;} --> </style> 设定以上样式就可以,此样式只有在打印的时候才起作用 |
二、asp连续分页打印的实现,这个实现起来相对来说要复杂些,看如下主体代码及说明
|
以下是代码片段: |
三、IE的正确设置:网上很多资料显示,做到以上两步就可以完整的打印了,但是经过我的测试表明,必须对IE进行设置才可以完整的对数据页面进行打印,下面看IE是如何设置的
进入打印页面后,选择菜单栏上的"文件"-->"打印"--> "选项" --> 将打印所有链接文档勾选上 --> 然后再进行打印,如图所示

一定要将打印链接的所有文档写上,说到这我突然想到一个问题,在页面上无用的链接一定要去掉,不然都会被打印出来,这回你们知道加"打印全部"的代码的作用的吧
原载: No.1网络工作室 http://www.noonenet.cn/