ASP.NET中如何实现如何实现打印和打印预览,就是将DataGrid中的东东打印出来,请高手指点,谢谢

解决方案 »

  1.   

    你的datagrid中存在排序和模版列吗?
      

  2.   

    这个好像和有没有模版列和排序没关系,<html>
    <head>
    <meta name=vs_targetSchema content="http://schemas.microsoft.com/intellisense/ie5">
    <title>看看</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <!--media=print 这个属性可以在打印时有效-->
    <style media=print>
    .Noprint{display:none;}
    .PageNext{page-break-after: always;}
    </style><style>
    .tdp
    {
        border-bottom: 1 solid #000000;
        border-left:  1 solid #000000;
        border-right:  0 solid #ffffff;
        border-top: 0 solid #ffffff;
    }
    .tabp
    {
        border-color: #000000 #000000 #000000 #000000;
        border-style: solid;
        border-top-width: 2px;
        border-right-width: 2px;
        border-bottom-width: 1px;
        border-left-width: 1px;
    }
    .NOPRINT {
     font-family: "宋体";
     font-size: 9pt;
    }</style></head><body >
    <center class="Noprint" >
      <p>
      <OBJECT  id=WebBrowser  classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2  height=0  width=0>
      </OBJECT>
      <input  type=button  value=打印          onclick=document.all.WebBrowser.ExecWB(6,1)>
      <input  type=button  value=直接打印  onclick=document.all.WebBrowser.ExecWB(6,6)>
      <input  type=button  value=页面设置  onclick=document.all.WebBrowser.ExecWB(8,1)>
    </p>
      <p>    <input  type=button  value=打印预览  onclick=document.all.WebBrowser.ExecWB(7,1)>
        <br/>
        </p>
      <hr align="center" width="90%" size="1" noshade>
    </center><table width="90%" border="0" align="center" cellpadding="2" cellspacing="0"  class="tabp">
     <tr>
      <td colspan="3" class="tdp">第1页</td>
        </tr>
     <tr>
       <td width="29%" class="tdp">&nbsp;</td>
       <td width="28%" class="tdp">&nbsp;</td>
          <td width="43%" class="tdp">&nbsp;</td>
      </tr>
     <tr>
       <td colspan="3" class="tdp">&nbsp;</td>
      </tr>
     <tr>
       <td colspan="3" class="tdp"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td width="50%" class="tdp"><p>这样的报表</p>
              <p>对一般的要求就够了。</p></td>
              <td>&nbsp;</td>
            </tr>
          </table></td>
      </tr>
    </table>
    <hr align="center" width="90%" size="1" noshade class="NOPRINT" >
    <!--分页-->
    <div class="PageNext"></div>
    <table width="90%" border="0" align="center" cellpadding="2" cellspacing="0"  class="tabp">
      <tr>
        <td class="tdp">第2页</td>
      </tr>
      <tr>
        <td class="tdp">看到分页了吧</td>
      </tr>
      <tr>
        <td class="tdp">&nbsp;</td>
      </tr>
      <tr>
        <td class="tdp">&nbsp;</td>
      </tr>
      <tr>
        <td class="tdp"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td width="50%" class="tdp"><p>这样的报表</p>
                  <p>对一般的要求就够了。</p></td>
              <td>&nbsp;</td>
            </tr>
        </table></td>
      </tr>
    </table>
    </body>
    </html>
      

  3.   

    有没有模版列和排序与导出EXCEL有关,和打印无关,上面的是调用ie带的打印功能,你自可以修改一下
      

  4.   

    Try this:<HTML>
    <HEAD>
    <TITLE> 打印报表 </TITLE>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="">
    <META NAME="Keywords" CONTENT="">
    <META NAME="Description" CONTENT="">
    </HEAD>
    <META http-equiv=Content-Type content="text/html; charset=gb2312">
    <STYLE type=text/css>
    @media Print    
    {
    .other {
    DISPLAY: none
    }}
    </STYLE><BODY>
    <OBJECT id=WebBrowser height=0 width=0 
    classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 VIEWASTEXT></OBJECT><TABLE class=other id=Table1 cellSpacing=0 cellPadding=6 width="100%" 
      border=0><TBODY>
      <TR>
        <TD align=right bgColor=#cccc98>
    <INPUT onclick=document.all.WebBrowser.ExecWB(8,1) type=button value=页面设置> 
    <INPUT onclick=document.all.WebBrowser.ExecWB(7,1) type=button value=打印预览> 
    <INPUT onclick=javascript:window.print(); type=button value=打印 width="50"> 
    <INPUT onclick=javascript:window.close(); type=button value=关闭 name=Submit width="50"> 
    &nbsp;</TD></TR></TBODY></TABLE><TABLE height="100%" cellSpacing=0 cellPadding=0 width=643 align=center 
    border=0>
      <TBODY>
      <TR>
        <TD vAlign=top>
    <IFRAME id=printone src="content.aspx" frameBorder=0 width="100%" scrolling=no height=950></IFRAME></TD></TR></TBODY></TABLE>
    </BODY>
    </HTML>