1,2 搜索"打印"在本论坛可以有好多例子
3 你可以看一下新浪新闻的打印方法
   是采用document.write内容到打开的新页面去打印的

解决方案 »

  1.   

    打印时把不需要打印的部分隐藏掉就可以了
    window.document.all.noprint.style.visibility='hidden';
      

  2.   

    <!-- 保存成 .HTML -->
    <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.   

    <HEAD>
    <title>审批车辆资料打印</title>
    <meta content="Microsoft Visual Studio 7.0" name="GENERATOR">
    <meta content="C#" name="CODE_LANGUAGE">
    <meta content="JavaScript" name="vs_defaultClientScript">
    <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
    //这里定义一个样式
    <style type="text/css"> @media Screen { .onlyPrint { DISPLAY: none }}
    @media Print { .onlyShow { DISPLAY: none }///这个只显示不打印
    .onlyPrint { PAGE-BREAK-BEFORE: always }///这个是打印不显示}
    </style>
    </HEAD>
    用法:
    <table>
    <tr>
    <td class=onlyShow>////这样就只显示不打印了!正好是你想要的
    ....................
    </td>
    </tr>
    <tr>
    <td>
    </td class=onluPrint>////这样就只打印不显示!就是说在客户端的页面上看不到,但打印,打印是看的到!你试试!
    .............................
    </tr>
    </table>
    如果你想只打印某个表单的话!把其他所有东西的class=onlyshow,这样就可以了!我一直是这样做的!客户已经在使用中.................
    从这个的里面是不是得到什么启示呢?你可以搞一个textbox控件放在dropdownlist一起,来个只打印不显示,而且值也是跟着一起变动的,那个dropdownlist只显示不打印,这样是不是解决了你的问题了呢?
      

  4.   

    某位大侠写的页面打印,精华里也有:<!--语言无关 保存成 .HTML 看看-->
    <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>
      

  5.   

    在asp.net中可以使用水晶报表的所有内容,如果你想做的更好一点,你可以使用visual studio里的水晶报表