成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

.NET水晶報表優劣談

開發 后端
這里將介紹.NET水晶報表優劣,通過介紹水晶報表的好處及相關功能介紹,希望能對大家了解.NET水晶報表有所幫助。

.NET水晶報表首先要從概念入手,水晶報表(Crystal Report)是業內最專業、功能最強的報表系統,它除了強大的報表功能外,最大的優勢是實現了與絕大多數流行開發工具的集成和接口。

1、.NET水晶報表的好處

1)利用水晶報表可以進行數值求平均值,畫圖等

2)利用水晶報表可以把文件導出不同的格式(word等)

2、.NET水晶報表的兩種格式

1)pull模式,不利用DataSet,直接從數據庫中取出數據

2) push模式,使用DataSet,利用它進行數據的加載和處理等

3. .NET水晶報表使用的庫

1)水晶報表的引擎(CREnging.dll),作用:合并數據,裝換格式

2)水晶報表設計器(CRDesigner.dll),作用:設計標題,插入數據等

3)水晶報表查看控件(CRWebFormViewer.DLL)

4)需要引入的命名空間

  1. using CrystalDecisions.CrystalReports.Engine;   
  2. using CrystalDecisions.Shared;  

4、Pull模式下使用水晶報表

1)創建rpt文件

2)拖放CrystalReportViewer

3)綁定

5、讀取.NET水晶報表文件

  1. private void ReadCRV(cryatalReportViewer crv)  
  2.    {  
  3.      openFileDialog dlg=new OpenFileDialog();  
  4.      dlg.Title="打開水晶報表文件";  
  5.      dlg.Filter="水晶報表文件(*.rpt)|*.rpt|所有文件|*.*";  
  6.      if(dlg.showDialog()==DialogResult.OK)  
  7.      {  
  8.        crv.ReportSource=dlg.FileName;  
  9.      }  
  10.    } 

6. B/S下讀取報表的文件

  1. private void ReadCRV(cryatalReportViewer crv,File file)  
  2.    {  
  3.      string strName=file.PostedFile.FileName;  
  4.      if(strName.Trim()!="")  
  5.      {  
  6.        crv.ReportSource=strName 
  7.        Session["fileName"]=strName;  
  8.      }  
  9.    } 

在B/S中要防止數據源的丟失

  1. priavte void Page_Load(object sender,System.EventArgs e)  
  2.     {  
  3.       if(Session["fileName"]!=null)  
  4.       {  
  5.         crv.ReportSource=Session["fileName"].ToString();  
  6.       }  
  7.     } 

7. 假如直接從數據庫中讀取數據

采用PULL模式可能出現錯誤(登錄的用戶名和密碼不對)

  1. private void ReadCRV(CrystalReportViewer crv,CrystalReport cr)  
  2.    {  
  3.       ReportDocument reportDoc=new ReportDocument();  
  4.       reportDoc.Load(Server.MapPath(cr));//要加載的rpt文件的名字  
  5.       //解決登錄的問題  
  6.       TableLogOnInfo logonInfo = new TableLogOnInfo();  
  7.       foreach(Table tb in ReportDoc.Database.Tables)  
  8.       {  
  9.         logonInfo=tb.LogOnInfo;  
  10.         logonInfo.ConnectionInfo.ServerName="(loacl)";  
  11.         logonInfo.ConnectionInfo.DatabaseName="Pubs";  
  12.         logonInfo.ConnectionInfo.UserId="sa";  
  13.         logonInfo.ConnectionInfo.Password="";  
  14.         tb.ApplyLogOnInfo(logonInfo);  
  15.       }  
  16.       crv.ReportSource=reportDoc;  
  17.    } 

8. 采用Push模式,直接在數據源讀取

  1. private void BindReport(CrystalReportViewer crv)  
  2.   {  
  3.     string strProvider="Server=(local);DataBase=pubs;uid=sa;pwd=";  
  4.     CrystalReport cr=new CrystalReport();  
  5.     DataSet ds=new DataSet();  
  6.     SqlConnection conn=new SqlConnection(strProvider);  
  7.     conn.open();  
  8.     string strSql="select * from jobs";  
  9.     SqlDataAdapter dap=new SqlDataAdapter(strSql,conn);  
  10.     adp.Fill(ds,"jobs");  
  11.     cr.SetDataSource(ds);  
  12.     crcrv.ReportSource=cr;  
  13.   } 

9. 導出水晶報表的文件

  1. private void ExportCrv(CrystalReport cr)  
  2.    {  
  3.       DiskFileDestionOptions dOpt=new DiskFileDestionOptions();  
  4.       cr.ExportOptions.ExportDestinationType=ExportDestinationType.DiskFile();  
  5.       cr.ExportOptions.ExportFormatType= ExportFormatType.PortableDocFormat;  
  6.       dOpt.DiskFileName="C:\output.pdf";  
  7.       cr.ExportOptions.DestinationOptions=dOpt;  
  8.       cr.Export();  
  9.         
  10.    }  
  11.    private void ExportCrv(CrystalReport cr,string strType,string strPath)  
  12.    {  
  13.       DiskFileDestionOptions dOpt=new DiskFileDestionOptions();  
  14.       cr.ExportOptions.ExportDestinationType=ExportDestinationType.DiskFile();  
  15.       switch(strType)  
  16.       {  
  17.          case "RTF":  
  18.            cr.ExportOptions.ExportFormatType=ExportFormatType.RichText;  
  19.            dOpt.DiskFileName=strPath;  
  20.            break;  
  21.          case "PDF":  
  22.            cr.ExportOptions.ExportFormatType=ExportFormatType.PortableDocFormat;  
  23.            dOpt.DiskFileName=strPath;  
  24.            break;  
  25.          case "DOC":  
  26.            cr.ExportOptions.ExportFormatType=ExportFormatType.WordForWindows;  
  27.            dOpt.DiskFileName=strPath;  
  28.            break;  
  29.          case "XLS":  
  30.            cr.ExportOptions.ExportFormatType=ExportFormatType.Excel;  
  31.            dOpt.DiskFileName=strPath;  
  32.            break;  
  33.          default;  
  34.          break;  
  35.              
  36.       }  
  37.       cr.ExportOptions.DestinationOptions=dOpt;  
  38.       cr.Export();  
  39.  
  40.    } 

10 B/S下水晶報表的打印

  1. priavte void PrintCRV(CrystalReport cr)  
  2.    {  
  3.      string strPrinterName=@"printName";  
  4.      PageMargins margins=cr.PrintOptions.PageMargins;  
  5.      margins.bottomMargin = 250;  
  6.      margins.leftMargin = 350;  
  7.      margins.rightMargin = 350;  
  8.      margins.topMargin = 450;  
  9.      cr.PrintOptions.ApplyPageMargins(margins);  
  10.      cr.PrintOptions.printerName=strPrinterName;  
  11.      cr.PrintToPrinter(1,false,0,0)//參數設置為0,表示打印所用頁  
  12.    } 

【編輯推薦】

  1. 深入淺出.NET接口:阿貓阿狗和程序員
  2. 程序員如何選擇入門編程語言?
  3. 程序員最常犯的五大非技術性錯誤
  4. Java程序員的知識架構淺析
  5. 專家級程序員的“飼養”心得
責任編輯:彭凡 來源: 博客園
相關推薦

2009-07-29 09:29:06

ASP.NET水晶報表

2009-08-02 11:48:58

ASP.NET水晶報表ASP.NET

2009-07-30 13:57:39

ASP.NET水晶報表ASP.NET

2009-10-16 13:30:51

VB.NET水晶報表控

2010-01-14 10:52:13

VB.NET水晶報表

2009-12-15 17:20:07

VS 水晶報表

2009-11-05 14:03:28

Visual Stud

2009-08-31 16:09:42

.net水晶報表使用學

2009-08-25 17:00:32

ASP.NET水晶報表

2009-08-31 16:01:28

C#水晶報表數據獲取方

2009-08-31 15:54:35

2009-08-31 15:11:23

C#調用水晶報表

2009-11-26 13:27:10

VS2003水晶報表

2009-12-01 13:50:19

VS2003水晶報表

2009-11-26 13:40:53

2009-11-27 10:14:44

2009-02-10 11:19:54

2017-01-13 15:24:58

助力 制造

2017-09-27 18:21:36

報表性能集算器

2013-02-21 10:13:36

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲女人天堂成人av在线 | 99在线免费观看视频 | 国产精品毛片久久久久久久 | 人人射人人插 | 国产精品久久久久久久久久妞妞 | h视频在线免费 | 精品av | 中文字幕亚洲视频 | 亚洲视频区 | 成人精品视频99在线观看免费 | 亚洲精品国产成人 | 久久久久99 | 精品国产欧美日韩不卡在线观看 | 日日摸日日碰夜夜爽2015电影 | 一区二区三区视频在线 | 久久99久久99精品免视看婷婷 | 蜜桃传媒一区二区 | 国产激情视频在线免费观看 | 在线观看成人精品 | 国产精品黄色 | a在线观看免费 | 日韩亚洲欧美综合 | 免费精品一区 | 欧美亚洲国产一区二区三区 | 日韩成人 | 欧美乱码精品一区二区三区 | 欧美日韩国产一区二区三区不卡 | 秋霞在线一区二区 | 99国产精品99久久久久久粉嫩 | 国产精品2区 | 99国产精品视频免费观看一公开 | 欧美日韩国产中文 | 天堂资源视频 | 久久中文字幕一区 | 亚洲激情在线视频 | 亚洲一区在线日韩在线深爱 | 国产毛片久久久久久久久春天 | 日韩欧美1区2区 | 91社区在线观看高清 | 玖草资源| 超碰免费在线 |