水晶报表资料

1。新建工程,添加oledbdataadapter,配制数据库,生成数据集  
  2。添加水晶报表,使用项目数据,ADO。NET数据集生成报表  
  3。添加reportdocument控件,选择工程名.报表名做为名称  
  4。添加CrystalReportViewer控件,什么属性都别改  
  以上4步完成后,在希望显示报表的地方添加一下代码  
                  OleDbDataAdapter1.Fill(DataSet11,   "用户登录表")  
                  crystalReport11.SetDataSource(DataSet11)  
                  CrystalReportViewer1.ReportSource   =   crystalReport11  
  就不会弹出登录提示框了,不过原因我还是不清楚,我在这里连用户名,密码都没设置过,更不要说数据源了,所以我想这一定是通过DATASET来连接的

 

从服务器打印基于   Web   的报表  
  如果用户无权访问打印导出的报表所需的应用程序,您可能希望使他们能够从服务器打印报表。对于服务器端打印,报表在   Web   服务器上生成,并被打印到安装在   Web   服务器上的打印机。用户可以选择距离他们最近的打印机,并让服务器处理打印。    
   
  服务器端打印的要求是:    
   
  打印机必须安装在   Web   服务器上    
  本地   SYSTEM   帐户有权访问打印机    
  对包含   .NET   Framework   的配置设置的   Machine.config   文件进行了编辑,以赋予   ASPNET   辅助进程对服务器上系统设置的访问权限。    
  注意       实现服务器端打印涉及到更改服务器上的默认权限,对于对   Internet   公开的应用程序建议不要这么做。  
   
  如果想使用户能够打印在   Web   上访问的整个多页报表,您有下列选项:    
   
  使用Web   窗体   Viewer   工具栏上的“打印”按钮将报表导出为   PDF。    
  注意       报表部件   Viewer   没有此选项。  
  导出报表为可以由客户端的现有应用程序打印的格式。    
  使用PrintToPrinter   方法从服务器打印报表。    
  将报表作为一个连续的页提供以通过   Internet   Explorer   浏览器在客户端启用打印。    
   
  使用   PrintOptions.PrinterName   属性将报表的指定页输出到选定的打印机上。如果未选择打印机,则将使用报表中指定的默认打印机。   
   

[C#]    
  public   virtual   void   PrintToPrinter   (int   nCopies   ,   bool   collated   ,   int   startPageN   ,   int   endPageN   );  

 参数  
  nCopies    
  指明要打印的份数。    
  collated    
  指明是否逐份打印。    
  startPageN    
  指明要打印的第一页。    
  endPageN    
  指明要打印的最后一页。    
  备注  
  若要打印所有页,请将   startPageN   参数和   endPageN   参数设置为零。

 

 [C#]    
  private   void   PrintReport(string   printerName)  
  {  
        PageMargins   margins;  
   
        //   获取   PageMargins   结构并设置  
        //   报表的边距。  
        margins   =   Report.PrintOptions.PageMargins;  
        margins.bottomMargin   =   350;  
        margins.leftMargin   =   350;  
        margins.rightMargin   =   350;  
        margins.topMargin   =   350;  
        //   应用页边距。  
        Report.PrintOptions.ApplyPageMargins(margins);  
   
        //   选择打印机。  
        Report.PrintOptions.PrinterName   =   printerName;  
   
        //   打印报表。将   startPageN   和   endPageN  
        //   参数设置为   0   表示打印所有页。  
        Report.PrintToPrinter(1,   false,0,0);  
  }  
要求  
  命名空间:CrystalDecisions.CrystalReports.Engine  
   
  如果用户无权访问打印导出的报表所需的应用程序,并且服务器端打印存在安全性或访问权限问题,您可能需要使用户能够从他们的浏览器打印报表。此方法将整个报表作为一个连续的页显示在   Web   窗体   Viewer   控件中,因而能够使用浏览器的打印功能。    
   
  在应用程序中,可以在现有   Web   窗体   Viewer   旁边添加一个按钮,该按钮可以将客户端重定向到新的、在浏览器中将整个报表显示为一个连续页的   Web   窗体   Viewer。可以对第二个窗体上的查看器进行格式化,以便禁用组树和工具栏,并将查看器的   SeparatePages   属性设置为   False。    
   
  注意       这种打印方法有一个局限,即无法控制页眉、页脚和分页符的定位。  
  crReportDocument   =   New   Income_Statement()  
  CrystalReportViewer1.ReportSource   =   crReportDocument  
  CrystalReportViewer1.SeparatePages   =   False  
  CrystalReportViewer1.DisplayGroupTree   =   False  
  CrystalReportViewer1.DisplayToolbar   =   False  

Published 31 August 2006 09:09 PM by Kamte

Comments

No Comments