最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

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

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 22:40:27
文檔

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

ASP.NET中水晶報表的使用方法詳解:前一段時間,由于在項目中要用到報表做統(tǒng)計,所以我學(xué)習(xí)了一下ASP.NET水晶報表的使用。水晶報表的執(zhí)行模式(也就是取數(shù)據(jù)的方法)可以分為兩種: 第一種是Pull模式:被請求時,水晶報表直接根據(jù)指定的驅(qū)動連接數(shù)據(jù)庫然后組裝這些數(shù)據(jù)。 另外一種就是Push模式
推薦度:
導(dǎo)讀ASP.NET中水晶報表的使用方法詳解:前一段時間,由于在項目中要用到報表做統(tǒng)計,所以我學(xué)習(xí)了一下ASP.NET水晶報表的使用。水晶報表的執(zhí)行模式(也就是取數(shù)據(jù)的方法)可以分為兩種: 第一種是Pull模式:被請求時,水晶報表直接根據(jù)指定的驅(qū)動連接數(shù)據(jù)庫然后組裝這些數(shù)據(jù)。 另外一種就是Push模式

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

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

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

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

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

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

使用Pull模式   我們將通過下面的這些步驟來通過Pull模式來執(zhí)行水晶報表
  1.首先創(chuàng)建rpt文件,并使用水晶報表設(shè)計接口設(shè)置一些必須的數(shù)據(jù)連接。
  2.拖放一個 CrystalReportViewer控件至aspx頁面,設(shè)置它的屬性指定我們上一步創(chuàng)建的.rpt文件。
  3. 在代碼中調(diào)用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. 設(shè)計一個DataSet
  2. 創(chuàng)建一個.rpt文件同時將其指定給上一步建立的DataSet。
  3. 在aspx頁面中拖放一個CrystalReportViewer控件同時將其與前面的rpt文件建立聯(lián)系。
  4. 在代碼中訪問數(shù)據(jù)庫并把數(shù)據(jù)存入DataSet
  5. 調(diào)用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文件連接數(shù)據(jù)庫所用的DataSet結(jié)構(gòu)完全相同,名稱可以不同

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

這里 用dataadapter填充數(shù)據(jù)集的一個實例,作為報表的數(shù)據(jù)源。
代碼如下:
DataSet ds = new DataSet();
MyAdapter.Fill(ds,"SaleOfCuntry");
ReportDoc.SetDataSource(ds);
Crv.ReportSource = ReportDoc;

Crv.DataBind();

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

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

ASP.NET中水晶報表的使用方法詳解:前一段時間,由于在項目中要用到報表做統(tǒng)計,所以我學(xué)習(xí)了一下ASP.NET水晶報表的使用。水晶報表的執(zhí)行模式(也就是取數(shù)據(jù)的方法)可以分為兩種: 第一種是Pull模式:被請求時,水晶報表直接根據(jù)指定的驅(qū)動連接數(shù)據(jù)庫然后組裝這些數(shù)據(jù)。 另外一種就是Push模式
推薦度:
標(biāo)簽: 使用 ASP.NET aspn
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top