JS打印

  <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>

设置打印范围

<body>
    <form id="form1" runat="server">
    <center >fdsfs</center>
    <!--startprint-->
    <div>
        <asp:GridView ID="dgShow" runat="server">
        </asp:GridView>
    </div>
    <!--endprint-->
    <center>fdfd</center>
    </form>
    <p>
        <input id="Button1" type="button" value="button" onclick="preview()" /></p>
</body>

服务器端打印

 

 /// <summary>
  /// 拼出要打印的表
  /// </summary>
  /// <param name="ds">DATASET</param>
  /// <param name="dg">DATAGRID</param>
  /// <returns></returns>
  public string DGPrint(DataSet ds)
  {
   //*************************************************************//

   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);
   //*************************************************************//
  
  }

  /// <summary>
  ///  拼出要打印的表
  /// </summary>
  /// <param name="dg">datagrid</param>
  /// <returns></returns>
  public string DGPrint(DataGrid dg)
  {
   int myRow=dg.Items.Count;  
   int myCol=dg.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>"+ dg.Columns[i].HeaderText.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(dg.Items[i].Cells[j].Text.Trim());
     sb.Append("</td>");
    }
    sb.Append("</tr>");  
   }
   sb.Append("</table></body></html>");
   colHeaders=sb.ToString();              
   colHeaders+="<script languge='javascript'>WebBrowser.ExecWB(7,1); window.opener=null;window.close();</script>" ;
   return(colHeaders);
  }