大连网站制作客服
主营业务
  • 网站制作
  • 网站维护
  • 网站推广
  • 域名空间
联系电话
联系人:尹先生
QQ:1050706570
E-mail:biz@noonenet.cn
地址:大连市甘井子区哲林北园29号
·首页 >> 网站技术 >> Asp - 连续分页打印实现的重点

Asp - 连续分页打印实现的重点

  更新时间:2009-9-4 15:21:26    编辑:阿帆

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 "[上页]&nbsp;"
      Else
       Response.Write "<a href=’?page="&page-1&"’ class=’gray’>[上页]</a>&nbsp;"
      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">&nbsp;</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连续分页打印的实现,这个实现起来相对来说要复杂些,看如下主体代码及说明

以下是代码片段:
<style>
.break{page-break-before:always}
</style>
’此样式的主要作用就是将asp数据分段进行打印,进行段点设置,从哪部分断开

’-- 打印全部
 response.write "<div style=’display:none;’>"
 for wholepage=1 to pagecounts
   response.write "<a href=’?page="&wholepage&"’>"&wholepage&"</a>"
 next
 response.write "</div>"
’因为asp分页打印的时候页面常会丢失,这个是我经过无数次测试分析的,可能跟IE的设置有关,所以加上以上代码避免数据页面的丢失.
if a = pagesizes+1 then
  %>
  <div class="break">&nbsp;</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
%>
’以上部分的代码就是为每个页面都能完整的加上一个表头,利用break的功能.

三、IE的正确设置:网上很多资料显示,做到以上两步就可以完整的打印了,但是经过我的测试表明,必须对IE进行设置才可以完整的对数据页面进行打印,下面看IE是如何设置的

进入打印页面后,选择菜单栏上的"文件"-->"打印"--> "选项" --> 将打印所有链接文档勾选上 --> 然后再进行打印,如图所示

一定要将打印链接的所有文档写上,说到这我突然想到一个问题,在页面上无用的链接一定要去掉,不然都会被打印出来,这回你们知道加"打印全部"的代码的作用的吧

 

原载: No.1网络工作室 http://www.noonenet.cn/
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。


Tags:asp 分页 连续 打印 设置
同类文章:
· 带链接的标题 - js打字效果
· Asp优化篇 - 不用eof加快记录循环
· js脚本 - 点击复制[非常实用]
· Access数据库 - 删除垃圾留言后数据库的修复
· Asp - 读取sql数据库中text类型字段值为空
返回新闻列表
top
本站关键字:大连网站制作 - 大连网站建设 - 大连网页制作
CopyRight © 2009-2012 No.1网络工作室 All Rights Reserved  sitemap
地址:大连市甘井子区哲林北园29号 电话:13889684613 E-mail:biz@noonenet.cn QQ:1050706570
logo