当前位置:首页
开发技术指南» 文章正文
    引言:

    摘要: 如题,我想将两个内容不同的memdc进行拷贝,其中还涉及到memdc的清空,哪位高人可以给指点一下 ......
    摘要: table id tkk 1 as 2 ss 3 ds 如何得到这里最大的id值?用datatable.select() ......


web页面中DataGrid的打印

本人现在要实现一个课表的打印(由DataGrid绑定)   从网上看到2种方法   试了试都没成功   希望达人能指路  
  一个方法   写一个通用的DataGrid打印类   (采取网上流行的活靶子提供的通用类)   链接如下: http://www.cnblogs.com/huobazi/archive/2005/04/26/8176.html  
  可问题是 我从web页面上传过去一个System.Web.UI.WebControls.DataGrid 而那个通用类使用的是  
  System.Windows.Forms.DataGrid 2者却不能转换  头痛了很久!    
   
  另一个方法是调用IE的打印功能 用 script实现  我使用的是asp.net与c#  
  代码如下   
  <HEAD>  
  <script   language="Javascript">  
  void   doprint()   {?   //保留客户打印机设置  
    char   h   =   factory.printing.header;?    
    char   f   =   factory.printing.footer;  
    char   t   =   factory.printing.topMargin;  
    char   b   =   factory.printing.bottomMargin;  
    char   l   =   factory.printing.leftMargin;  
                    char   r   =   factory.printing.rightMargin;    
                    document.all("printbtn").style.visibility   =   hidden;//打印时隐藏打印按钮<BR>?    
                    //设置页眉页脚上下左右边距    
                    factory.printing.header   =   "页眉+_+ohiolee的打印世界";  
                    factory.printing.footer   =   "想设置页脚么,这里哦";    
                    factory.printing.topMargin="6";//存在最小默认值5.02  
                    factory.printing.bottomMargin="6";//存在最小默认值4.13    
                    factory.printing.leftMargin="2";//存在最小默认值5.08    
                    factory.printing.rightMargin="2";//存在最小默认值6.79。。。本人机子上测出来是这样的,不知道普遍是否如此。?    
                    //   直接打印  
                    factory.DoPrint(false);//true时弹出打印对话框<BR>?    
                    //返回到原来的打印设置<BR>?    
                    factory.printing.header   =   h;?    
                    factory.printing.footer   =   f;?    
                    factory.printing.topMargin=t;  
                    factory.printing.bottomMargin=b;  
                    factory.printing.leftMargin=l;  
                    factory.printing.rightMargin=r;  
                    //显示打印按钮<BR>?    
                    document.all("printbtn").style.visibility   =   visible;//通过document.all("printbtn").来指定页面中的任何类,并给以进一步属性设置  
                    }  
  </script>  
  </HEAD>  
   
  <body>  
  <OBJECT   id="factory"   style="DISPLAY:   none"   codeBase="http://www.meadroid.com/scriptx/ScriptX.cab#Version=5,60,0,360"  
  classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814"   viewastext>  
  </OBJECT>  
  <div   id="printbtn"><input   name="idPrint"   type="button"   value="打印"   onclick="Javascript:doprint()"></div>  
  </body>  
   
 

NO.1   作者: hunuliudan

帮你顶!  
  我暂时也没有看出个究竟  
  不过,过段时间我应该可以给你答案!!!

NO.2   作者: adandelion

gz

NO.3   作者: gaofeng2000

本质上都是调用IE的打印功能,总会遇到这样那样的错误。  
  我个人认为:一定要web方式的话,还是用水晶报表,导出到pdf,是最佳选择。

NO.4   作者: zhangjian01361

此示例说明如何打印   DataGrid   控件。  
   
  示例  
  private   void   printGrid_Click(System.Object   sender,   System.EventArgs   e)  
  {  
        printDocument1.Print();  
  }  
  private   void   printDocument1_PrintPage(System.Object   sender,   System.Drawing.Printing.PrintPageEventArgs   e)  
  {  
        PaintEventArgs   myPaintArgs   =   new   PaintEventArgs(e.Graphics,   new   Rectangle(new   Point(0,   0),   this.Size));  
        this.InvokePaint(dataGrid1,   myPaintArgs);  
  }  
  编译代码  
  本示例需要:    
   
  名为   printGrid   且含有   Click   事件处理程序的按钮控件。    
  名为   dataGrid1   的   DataGrid   控件。    
  名为   printDocument1   且包含   PrintPage   事件处理程序的   PrintDocument   组件。    
  该示例代码替换现有的事件处理程序。  
   
  可靠编程  
  以下情况可能会导致异常:    
   
  您没有访问该打印机的权限。    
  没有安装打印机。    
 

NO.5   作者: luojianfeng

NO.6   作者: hunuliudan

看看这篇文章,或许会有帮助  
  http://community.csdn.net/Expert/topic/4386/4386570.xml?temp=.9343988


    摘要: 如题 ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE