RT

解决方案 »

  1.   

    嵌一个WebBrowser,生成一段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>
    body,td,th 
    {
    font-size: 12px;
    }
    .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; border-collapse:collapse;
    }
    .NOPRINT {
    font-family: "宋体";
    font-size: 12px;
    }</style></head><body >
      <OBJECT  id=WebBrowser  classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2  height=0  width=0 VIEWASTEXT>
      </OBJECT>
    <input type=button value=打印     onclick="document.all.WebBrowser.ExecWB(6,1)" class="NOPRINT">
    <input type=button value=直接打印 onclick="document.all.WebBrowser.ExecWB(6,6)" class="NOPRINT">
    <input type=button value=页面设置 onclick="document.all.WebBrowser.ExecWB(8,1)" class="NOPRINT">
    <input type=button value=打印预览 onclick="document.all.WebBrowser.ExecWB(7,1)" class="NOPRINT">
      <br/>
    <table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr align="center"> 
        <td colspan="5"><font size="3">上海市眼病防治中心病人结帐费用报表(A) </font></td>
      </tr>
      <tr> 
        <td>汇总人次 5</td>
        <td>费用合计 15853.12</td>
        <td>统计日期 </td>
        <td>制表人 023</td>
        <td>制表日期:2004-05-13</td>
      </tr>
    </table><table width="90%" border="1" align="center" cellpadding="2" cellspacing="0" bordercolor="#000000"  class="tabp">
      <tr> 
        <td   >姓名</td>
        <td   >住院号</td>
        <td   >科室</td>
        <td   >结帐日期</td>
        <td   >出院日期</td>
        <td   >费用合计</td>
        <td   >医保交易费用</td>
        <td   >分类给付费用</td>
        <td   >非医保交易费</td>
        <td   >&nbsp;</td>
        <td   >&nbsp;</td>
        <td   >&nbsp;</td>
        <td   >&nbsp;</td>
        <td   >&nbsp;</td>
        <td   >&nbsp;</td>  </tr>
      <tr>
        <td   >&nbsp;</td>
        <td   >&nbsp;</td>
        <td   >&nbsp;</td>
        <td   >&nbsp;</td>
        <td   >&nbsp;</td>
        <td   >&nbsp;</td>
        <td   >&nbsp;</td>
        <td   >&nbsp;</td>
        <td   >&nbsp;</td>
        <td   >&nbsp;</td>
        <td   >&nbsp;</td>
        <td   >&nbsp;</td>
        <td   >&nbsp;</td>
        <td   >&nbsp;</td>  </tr>
    </table>
    <hr align="center" width="90%" size="1" noshade class="NOPRINT" >
    <!--分页-->
    <div class="PageNext"></div>
    <table width="90%" border="1" align="center" cellpadding="2" cellspacing="0" bordercolor="#000000"  class="tabp">
      <tr>
        <td >第2页</td>
      </tr>
      <tr>
        <td >看到分页了吧</td>
      </tr>
      <tr>
        <td >&nbsp;</td>
      </tr>
      <tr>
        <td >&nbsp;</td>
      </tr>
      <tr>
        <td ><table width="100%"  border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td width="50%" >这样的报表
                  对一般的要求就够了。</td>
              <td>&nbsp;</td>
            </tr>
        </table></td>
      </tr>
    </table>
    </body>
    </html>
      

  2.   

    HTML就用C# StringBuilder生成就可以了,可以生成GUID文件,然后指定WebBrowser 的navigate路径。
    如果担心某些机器不允许执行本地javascript,你可以把HTML生成一个Hta文件,然后调用mshta.exe打开它。
      

  3.   

    使用PrintDocument来打印,可以使用PrintPreviewDialog或PrintPreviewControl来预览打印。
      

  4.   

    用PrintDocument来打印这个文件也可以。
      

  5.   

    还有。我是个菜鸟很多东西都没接触过。怎么用StringBuilder生成GUID文件啊?生成的时候把后缀名改了就行了吗?webBrowser1.Navigate()这个方法只能指定URL啊,怎么加载生成好的文档?你说的都太高深了弄点浅显的呗,我现在比较着急。
      

  6.   

    GUID.html然后webBrowser1.Navigate()这个方法指定URL=GUID.html
    GUID是随机的字符串
    比如这样
    D:\Application_StartUp目录\63199d69-c711-40fa-8105-af6f8b4cae46.html
      

  7.   

    StringBuilder比string效率高。
    HTML就是根据数据表格,循环拼出来的大字符串,写到文件里。我的话你可以找身边的师父问一下。如果身边没师父或同事,我觉得你该换个工作环境了。
    自学太浪费时间了。
      

  8.   

    有没有什么方法,在画好的界面上,然后点一个BUTTON按钮,就按照自己定义个格式打印的啊?然后点另一个BUTTON,可以预览。
      

  9.   

    那HTML里都包括了啊,你把那另存成HTML就可以看到了。
      

  10.   

    如果用这个方法,我得把整个界面做成一个HTML了。
      

  11.   

    把整个界面做成一个HTML,没错。
    HTML是基本功,熟练了好出大大地。