溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ASP.NET中水晶報表的使用方法

發(fā)布時間:2021-07-24 13:48:57 來源:億速云 閱讀:198 作者:chen 欄目:開發(fā)技術

這篇文章主要講解了“ASP.NET中水晶報表的使用方法”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“ASP.NET中水晶報表的使用方法”吧!

前一段時間,由于在項目中要用到報表做統(tǒng)計,所以我學習了一下ASP.NET水晶報表的使用。水晶報表的執(zhí)行模式(也就是取數據的方法)可以分為兩種:

第一種是Pull模式:被請求時,水晶報表直接根據指定的驅動連接數據庫然后組裝這些數據。

另外一種就是Push模式:此時開發(fā)者不得不自己編寫代碼連接數據并組裝DataSet,同時將它傳送至報表。在些這種情況下,通過使用連接共享以及限制記錄集合的大小,可以使用報表性能最大化。

水晶報表中的報表類型也分為兩種:

--StrongTyped 報表: 當你將報表文件加入到項目中去時,它就變成了一個了“ strongly-typed“報表。在這些情況下,你將擁有直接創(chuàng)建報表的對象的權力,這將減少一些代碼并且能夠提供一些性能。

--UnTyped報表:這里的報表并不直接包含在項目中,因此稱為‘un-typed' 報表。在這種情況下,你不得不使用水晶報表的”ReportDocuemt“對象建立一個實例,并且”手動“地凋用報表。

使用Pull模式   我們將通過下面的這些步驟來通過Pull模式來執(zhí)行水晶報表
  1.首先創(chuàng)建rpt文件,并使用水晶報表設計接口設置一些必須的數據連接。
  2.拖放一個 CrystalReportViewer控件至aspx頁面,設置它的屬性指定我們上一步創(chuàng)建的.rpt文件。
  3. 在代碼中調用DataBind方法。

復制代碼 代碼如下:


ReportDocument  ReportDoc  = new  ReportDocument();
ReportDoc.Load(Server.MapPath("MyPullDemo.rpt"));
#region 解決登錄錯誤問題
TableLogOnInfo  logonInfo  = new TableLogOnInfo();//
foreach( CrystalDecisions.CrystalReports.Engine.Table tb in ReportDoc.Database.Tables)
{
logonInfo = tb.LogOnInfo;
logonInfo.ConnectionInfo.ServerName = "(local)";
logonInfo.ConnectionInfo.DatabaseName = "myDatabase";//
logonInfo.ConnectionInfo.UserID = "sa";
logonInfo.ConnectionInfo.Password = "sa1234";//
tb.ApplyLogOnInfo(logonInfo);
}
#endregion
CrystalReportViewer1.ReportSource = ReportDoc;

CrystalReportViewer1.DataBind();


使用PUSH模式
  我們采用下面的幾步使用Push模式執(zhí)行水晶報表:
  1. 設計一個DataSet
  2. 創(chuàng)建一個.rpt文件同時將其指定給上一步建立的DataSet。
  3. 在aspx頁面中拖放一個CrystalReportViewer控件同時將其與前面的rpt文件建立聯(lián)系。
  4. 在代碼中訪問數據庫并把數據存入DataSet
  5. 調用DataBind方法。

復制代碼 代碼如下:


ReportDocument ReportDoc = new ReportDocument();
ReportDoc.Load(Server.MapPath("MyPushDemo.rpt"));
string strProvider = "Server=(local);DataBase=myDatabase;UID=sa;PWD=sa1234";
SqlConnection MyConn = new SqlConnection(strProvider);
MyConn.Open();
string strSel = "Select * from SaleOfCuntry";
SqlDataAdapter MyAdapter = new SqlDataAdapter(strSel,MyConn);


--這里的ds與.rpt文件連接數據庫所用的DataSet結構完全相同,名稱可以不同

建立.rpt文件時DataSet的作用是為rpt文件提供一種架構。

這里 用dataadapter填充數據集的一個實例,作為報表的數據源。

復制代碼 代碼如下:


DataSet ds = new DataSet();
MyAdapter.Fill(ds,"SaleOfCuntry");
ReportDoc.SetDataSource(ds);
Crv.ReportSource = ReportDoc;

Crv.DataBind();

感謝各位的閱讀,以上就是“ASP.NET中水晶報表的使用方法”的內容了,經過本文的學習后,相信大家對ASP.NET中水晶報表的使用方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI