您现在的位置: 网页制作教程网 >> 网络编程 >> Asp.net 教程 >> ASP.NET 实例教程 >> 文章正文

关于ASP.NET页面打印技术的总结

作者:天极Yesk…

来源:天极Yesky

热度:

2007-7-17 11:58:41

  【实例代码】

  注:①这是客户端通过window.print打印指定内容。这里定义sprnstr和eprnstr来指定内容

  执行代码:

以下是引用片段:
<input type="button" name="print" value="预览并打印" onclick="preview()">

  ②如果直接使用window.print将打印页面上的所有内容,但是我们可以使用

以下是引用片段:
st<<style> @media Print { .Noprn { DISPLAY: none }}
是用来指定不打印的内容。
 
script language="Javascript">
function preview()
{
    bdhtml=window.document.body.innerHTML;
    sprnstr="<!--startprint-->";
    eprnstr="<!--endprint-->";
    prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17);
    prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));
    window.document.body.innerHTML=prnhtml;
    window.print();
}
</script>
<!--省略部分代码-->
<form id="WebForm1" method="post" runat="server">
     <center>本部分以上不被打印</center>
     <!--startprint-->
     <div align="center">
         <asp:DataGrid id="dgShow" runat="server">
              <!--省略部分代码-->
         </asp:DataGrid>
     </div>
     <!--endprint-->
     <center>本部分以下不被打印</center>
     <div align="center">
         <input type="button" name="print" value="预览并打印" onclick="preview()">
     </div>
     <style> @media Print { .Noprn { DISPLAY: none }}
     </style>
     <p class="Noprn">不打印</p>
     <table id="datagrid">
         <tr>
              <td>打印</td>
         </tr>
     </table>
     <input class="Noprn" type="button" onclick="window.print()" value="print">
</form>

WebBrowser 控件技术

  • 打印操作的实现

  此功能的实现主要是利用WebBrowser控件的函数接口来实现打印、打印预览(默认的)、

  页面设置(默认的)。

以下是引用片段:

<object ID=‘WebBrowser1’ WIDTH=0 HEIGHT=0
CLASSID=‘CLSID:8856F961-340A-11D0-A96B-00C04FD705A2’>
//打印
WebBrowser1.ExecWB(6,1);
//打印设置
WebBrowser1.ExecWB(8,1);
//打印预览
WebBrowser1.ExecWB(7,1);
//直接打印
WebBrowser1.ExecWB(6,6);

【实例代码】
//自定义类PrintClass
public string DGPrint(DataSet ds)
{
    //DGPrint执行的功能:根据DataTable转换成对应的HTML对应的字符串
     DataTable myDataTable=new DataTable();
     myDataTable=ds.Tables[0];
 
     int myRow=myDataTable.Rows.Count;
     int myCol=myDataTable.Columns.Count;
 
     StringBuilder sb=new StringBuilder();
 
     string colHeaders="<html><body>"+"<object ID='WebBrowser' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'VIEWASTEXT></object>" +"<table><tr>";
 
     for(int i=0;i<myCol;i++)
     {    
         colHeaders +="<td>"+ myDataTable.Columns[i].ColumnName.ToString()+"</td>";
     }
     colHeaders += "</tr>";
     sb.Append(colHeaders);
 
     for(int i=0;i<myRow;i++)
     {      
         sb.Append("<tr>");
         for(int j=0;j<myCol;j++)
         {
              sb.Append("<td>");
              sb.Append(myDataTable.Rows[i][j].ToString().Trim());
              sb.Append("</td>");
         }
         sb.Append("</tr>");  
     }
 
     sb.Append("</table></body></html>");
     colHeaders=sb.ToString();              
     colHeaders+="<script languge='Javascript'>WebBrowser.ExecWB(6,1); window.opener=null;window.close();</script>";
     return(colHeaders);
}

上一页  [1] [2] [3] [4] [5] 下一页


我来说两句:

1分 2分 3分 4分 5分
姓名: *


* 请各位网友遵纪守法并注意语言文明。
网站简介 | 联系方式 | 意见建议 | 版权说明
Copyright © 2007 All rights reserved
滇ICP备06006992号