濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > ASP.NET中水晶報(bào)表的使用方法詳解

ASP.NET中水晶報(bào)表的使用方法詳解

熱門標(biāo)簽:云狐人工智能電話機(jī)器人 400電話辦理信任翰諾科技 ai電銷機(jī)器人對(duì)貸款有幫助嗎 福州人工智能電銷機(jī)器人加盟 宿遷智能外呼系統(tǒng)排名 地圖標(biāo)注多少錢一張 怎樣給陜西地圖標(biāo)注顏色 廣州銷售外呼系統(tǒng)定制 電銷機(jī)器人 數(shù)據(jù)

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

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

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

水晶報(bào)表中的報(bào)表類型也分為兩種:

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

--UnTyped報(bào)表:這里的報(bào)表并不直接包含在項(xiàng)目中,因此稱為‘un-typed' 報(bào)表。在這種情況下,你不得不使用水晶報(bào)表的”ReportDocuemt“對(duì)象建立一個(gè)實(shí)例,并且”手動(dòng)“地凋用報(bào)表。

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

復(fù)制代碼 代碼如下:

ReportDocument  ReportDoc  = new  ReportDocument();
ReportDoc.Load(Server.MapPath("MyPullDemo.rpt"));
#region 解決登錄錯(cuò)誤問題
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í)行水晶報(bào)表:
  1. 設(shè)計(jì)一個(gè)DataSet
  2. 創(chuàng)建一個(gè).rpt文件同時(shí)將其指定給上一步建立的DataSet。
  3. 在aspx頁(yè)面中拖放一個(gè)CrystalReportViewer控件同時(shí)將其與前面的rpt文件建立聯(lián)系。
  4. 在代碼中訪問數(shù)據(jù)庫(kù)并把數(shù)據(jù)存入DataSet
  5. 調(diào)用DataBind方法。

復(fù)制代碼 代碼如下:

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ù)庫(kù)所用的DataSet結(jié)構(gòu)完全相同,名稱可以不同

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

這里 用dataadapter填充數(shù)據(jù)集的一個(gè)實(shí)例,作為報(bào)表的數(shù)據(jù)源。

復(fù)制代碼 代碼如下:

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

Crv.DataBind();

您可能感興趣的文章:
  • 水晶報(bào)表asp.net的webform下基本用法實(shí)例
  • asp.net 水晶報(bào)表隔行換色實(shí)現(xiàn)方法
  • ASP.NET 水晶報(bào)表打印功能實(shí)現(xiàn)代碼
  • VS2010 水晶報(bào)表的使用方法
  • VS2005 水晶報(bào)表在時(shí)部署時(shí)遇到的問題
  • .NET 水晶報(bào)表使用代碼
  • 什么是水晶報(bào)表與水晶報(bào)表功能分析
  • asp.net水晶報(bào)表參數(shù)字段在代碼中賦值的方法

標(biāo)簽:曲靖 宜春 焦作 延安 黃南 大興安嶺 綿陽(yáng) 新疆

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP.NET中水晶報(bào)表的使用方法詳解》,本文關(guān)鍵詞  ASP.NET,中,水晶,報(bào)表,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP.NET中水晶報(bào)表的使用方法詳解》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于ASP.NET中水晶報(bào)表的使用方法詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    夏河县| 阜宁县| 勐海县| 宁津县| 邵阳市| 威信县| 高陵县| 尖扎县| 凤翔县| 察雅县| 定南县| 喀什市| 仙桃市| 林西县| 大荔县| 黄冈市| 图木舒克市| 日土县| 盘山县| 来宾市| 马边| 方正县| 新密市| 西乌珠穆沁旗| 五指山市| 江孜县| 清涧县| 华池县| 绵竹市| 双流县| 建瓯市| 辽阳县| 白城市| 凤山县| 冕宁县| 和平县| 烟台市| 阿克陶县| 大庆市| 溧水县| 高青县|