欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
(轉)Crystal Report制作使用 - 逆水行舟 - 博客園

本文主要劃分為以下六部分:

一、Crystal Report for .NET 的功能

二、Crystal Report總體結構

三、報表數據訪(fǎng)問(wèn)執行模式

四、報表類(lèi)型

五、Crystal Report 設計器的布局

六、Crystal Report 的具體實(shí)例

 

最近項目接近尾聲,應要求總結了一下,為了對在.net環(huán)境下開(kāi)發(fā)報表的程序員新手一些幫助,同時(shí)也為給新人培訓做一次文檔準備。

    相信在大部分的應用程序中報表都是程序員頭疼的問(wèn)題。但是在.net環(huán)境下包含了功能強大的報表工具: Crystal Report。它能很好的與數據庫交互,做出各種漂亮的報表和分析圖表.它能良好地替開(kāi)發(fā)人員排憂(yōu)解難。如下圖:

 

    1993年開(kāi)始,Crystal Report 就是Visual Studio 套件中的一部分。目前實(shí)際上已成為

Visual Studio.NET 中的報表標準,在Windows 報表編寫(xiě)領(lǐng)域中居于領(lǐng)先地位,推動(dòng)著(zhù)Web報表的未來(lái)發(fā)展。最新的Visual Studio.NET 以集成開(kāi)發(fā)環(huán)境(IDE)中整和了Crystal Report9.0,從而增強了Visual Studio.NET 的開(kāi)發(fā)功能, Crystal Report 為開(kāi)發(fā)人員提供了盡可能的API。

一、Crystal Report for .NET 的功能

通過(guò)將Crystal Report 的報表處理功能整和到自己的數據庫應用程序中,Windows應用程序和Web開(kāi)發(fā)人員可以節省開(kāi)發(fā)時(shí)間來(lái)滿(mǎn)足用戶(hù)的需求。Crystal Report 支持大多數流行的開(kāi)發(fā)語(yǔ)言,可以方便的在任何應用程序中添加報表。

    具體來(lái)說(shuō),Crystal Report的功能有以下幾點(diǎn):

 1、全面的數據庫訪(fǎng)問(wèn):

  Crystal Report 中包括了超過(guò)35中數據源驅動(dòng),可以訪(fǎng)問(wèn)一種XML、企業(yè)和關(guān)系型數據庫。

2、廣泛的設計格式與設計:

  通過(guò)Crystal Report,用戶(hù)可以將數據庫轉換為高度交互性?xún)热???梢詮?span>100多中格式選項中進(jìn)行選擇、包括參數、映射、交叉表和超級鏈接、用以強化報表的沖擊力。

3、強大的圖表設計功能:

  Crystal Report 可以在報表中包含多彩的、易讀的圖表(提供了非常豐富的報表類(lèi)型,如:條形圖、折線(xiàn)圖、面積圖、餅圖、甘特圖、股票圖等)。

4、靈活的應用集成技術(shù):

  Crystal Report 帶有靈活的Java、COM.NET SDK,以及可內嵌的Report Application Server,可將報表與企業(yè)Web應用緊密地集成在一起。通過(guò)使用Crystal Report ""客戶(hù)端瀏覽器控制,能夠為最終端擁護提供豐富的報表交互、創(chuàng )建和修改功能。

5、強大的報表導出:

  Crystal Reprort 的所有的報表都可以導出多種不同的格式:包括XML、PDF、HTML、和Microsoft Excel。

二、Crystal Report總體結構

展示報表具有兩層結構的Crystal Report需要:

界面:

界面僅需使用Winform窗體或者Web程序中使用瀏覽器。

后臺:

1、Crystal Report Engine (CREngine.dll)

將數據與報表文件合并、將數據輸出為不同的格式,將Crystal Report轉為傳到.aspx頁(yè)中的簡(jiǎn)潔明了的HTML.

2、Crystal Report Designer (CRDesigner.dll)

使用Crystal Report Designer可以制作報表,可以設計標題、插入數據、公式、表格、次級報告等。

3、The .rpt Report file

將一份報表應用到你的應用程序中的第一步是使用Crystal Report Designer創(chuàng )建報表。但是如果已經(jīng)有了一些現成的樣本,你現在就可以用它。

4、The Data Source

.rpt文件獲取數據的方式取決于你所選用的方法。你可以選擇制作Crystal Report以獲取數據而無(wú)須手工寫(xiě)任何代碼,也可以選擇綁定你的dataset并將其傳入報表文件。

5、Crystal Report Viewer

Crystal Report Viewer是一個(gè)能夠插入頁(yè)中的容器(.net中習慣稱(chēng)為控件)。

三、報表數據訪(fǎng)問(wèn)執行模式

1、拉模型 Pull Model

在拉模型中,驅動(dòng)程序將連接到數據庫并根據需要將數據“拉”進(jìn)來(lái)。使用這種模型時(shí),與數據庫的連接和為了獲取數據而執行的 SQL 命令都同時(shí)由 Crystal Reports 本身處理,不需要開(kāi)發(fā)人員編寫(xiě)代碼。如果在運行時(shí)無(wú)須編寫(xiě)任何特殊代碼,則使用拉模型。

2、推模型 Push Model

相反,推模型需要開(kāi)發(fā)人員編寫(xiě)代碼以連接到數據庫,執行 SQL 命令以創(chuàng )建與報表中的字段匹配的記錄集或數據集,并且將該對象傳遞給報表。該方法使您可以將連接共享置入應用程序中,并在 Crystal Reports 收到數據之前先將數據篩選出來(lái)。

四、報表類(lèi)型

Crystal Report Designer可以是獨立于解決方案的報表外,也可是裝載包含于解決方案方案之中的報表。

1、Strongly-typed Report :

當在方案中加入一個(gè)報表時(shí),該報表就成為一個(gè)Strongly-typed Report。在這種情況下,你可以直接創(chuàng )建報表實(shí)例(可以減少若干代碼),可以將其隱藏。當然你可以點(diǎn)擊Solution Explorer中的”show all files”來(lái)顯示它。

2、Un-Typed Report :

不包含在方案中的報表即Un-Typed Report。在這種情況下,必須創(chuàng )建一個(gè)Crystal Report Engine'Report Document'對象并將報表手工裝載進(jìn)去。

五、Crystal Report 設計器的布局

首先,在Visual Studio.NET 的一個(gè)工程中添加一個(gè)向 Windows Web 窗體發(fā)布數據的 Crystal 報表文件:

 

添加成功之后,打開(kāi)該報表:

 

從上圖可以看到設計器的完整布局。

1、字段資源管理器:

 列出該報表所有的字段,如:使用的數據庫字段、參數字段、公式字段等??梢栽诖诵薷暮蛣h除字段對象。

2、主報表窗口:

 用來(lái)在報表窗口中顯示主報表。對于包含子報表的報表,有主報表窗口和對每個(gè)的深化(通過(guò)雙擊)的子報表有一個(gè)

 子報表窗口??梢酝ㄟ^(guò)右擊報表窗口的任何空白位置來(lái)啟動(dòng)報表快捷菜單。

3、水晶報表主工具欄:

 包括記錄選擇、分類(lèi)和文本對象格式化圖標??梢詫φ麄€(gè)工具欄移動(dòng)或改變大小。

4、水晶報表插入工具欄:

 可以插入匯總字段、組、子報表、圖表和圖片的圖標。也可以在Crystal Report工具欄中單擊鼠標來(lái)選擇"插入"。

六、Crystal Report 的具體實(shí)例

本部分的例子分成兩部分:Windows應用程序中的Crystal Report開(kāi)發(fā);Web應用程序中的Crystal Report開(kāi)發(fā)應用。并且在兩種環(huán)境下分別介紹拉模型與推模型的例子。

在本部分例子中使用的軟件環(huán)境:Microsoft Visual Studio 2005;Microsoft SQL Server 2005。數據例子如下:服務(wù)器:cotton-b數據庫名:lhcy數據庫表:ProjectStage

數據表結構:

 

數據:

 

主要功能為統計項目階段工時(shí)數。

1、 如何設計報表文件模版。

1)       增加一個(gè)結果集 DataSet1.xsd,并增加表

 

2)       首先在增加一個(gè)報表文件 rpt文件

 

3)       使用報表專(zhuān)家,在"項目數據"中選擇"ADO。NET數據集",插入"ProjectStage"表,在字段選擇器上選擇要在報表上

 

4)       選擇要分組的字段依據

 

5)       選擇展示的圖表和顯示的主題信息

 

最終生成的結果如下。

 

2、Windows應用程序中的Crystal Report開(kāi)發(fā)

   

2.1 拉模型 pull model demo

在拉模式中如要在水晶報表中的SQL語(yǔ)句加上條件參數時(shí)要用{?參數名}方式給出。

例:“SELECT ProjectID, Manhours FROM ProjectStage Where ProjectID ={?parm} parm就是參數名.

        private void Form1_Load(object sender, EventArgs e)

        {

            ReportDocument rpt=new ReportDocument();

            rpt.Load(Application.StartupPath + "CrystalReport.rpt");

//SetDatabaseLogon 拉模式中必須用這個(gè)方法來(lái)設置登錄信息,參數一:用戶(hù)//名;參數二:密碼;參數三:服務(wù)器;參數四:數據庫名

            rpt.SetDatabaseLogon("sa","123456", "cotton-b", "lhcy");

// 給水晶報表傳參數,參數一:是參數名,參數二:參數值;

            rpt.SetParameterValue("Parm", 1);

            rpt.SetParameterValue("Title", "拉模型demo");

            // CrystalReportViewer1是水晶報表瀏覽器,下面是給該瀏覽器賦上對像

            crystalReportViewer1.ReportSource = rpt;

        }

 

2.2推模型 push modeldemo

    在推模式中編程組裝的Dataset里的SQL語(yǔ)句中的字段要與水晶報表里的SQL語(yǔ)句字段一致。簡(jiǎn)單的說(shuō),推模式中的水晶報表是個(gè)模板,把在設計器里報表的格式設好后,再組裝DataSet就可以生成報表了。

        private void Form1_Load(object sender, EventArgs e)

        {

            CrystalReport1 report = new CrystalReport1();

            string sDBConnetction = "Data Source=cotton-b;Initial Catalog=lhcy;Persist Security Info=True;User ID=sa;Password=123456";

            DataSet1 ds = new DataSet1();

            SqlConnection conn = new SqlConnection(sDBConnetction);

            SqlDataAdapter adapterProjectStage = new SqlDataAdapter

        ("select * from ProjectStage where ProjectID=2", conn);

            adapterProjectStage.Fill(ds, "ProjectStage");

            report.SetDataSource(ds);

report.SetParameterValue("Title", "推模型demo");

            crystalReportViewer1.ReportSource = report;

        }

 

3、Web應用程序中的Crystal Report開(kāi)發(fā)

3.1 拉模型 pull model demo

Winform應用程序的拉模型一樣,要在水晶報表中的SQL語(yǔ)句加上條件參數時(shí)要用{?參數名}方式給出。

例:“SELECT ProjectID, Manhours FROM ProjectStage Where ProjectID ={?parm} parm就是參數名.

 

protected void Test_pullmodel (object sender, EventArgs e)

{

// CrystalReport.rpt是水晶報表文件的名稱(chēng);CrystalReportSource1是從工具箱加到頁(yè)面上的水晶報表數據源對像。

        CrystalReportSource1.ReportDocument.Load(Server.MapPath("CrystalReport.rpt"));

// SetDatabaseLogon 拉模式中必須用這個(gè)方法來(lái)設置登錄信息,參數一:用戶(hù)名;參數二:密碼;參數三:服務(wù)器;參數四:數據庫名

CrystalReportSource1.ReportDocument.SetDatabaseLogon("sa","123456", "cotton-b", "lhcy");

//給水晶報表傳參數,參數一:是參數名,參數二:參數值;

//CrystalReportSource1.ReportDocument.SetParameterValue("Title", "拉模型的demo");

CrystalReportSource1.ReportDocument.SetParameterValue("Parm", 1);

//綁定水晶報表數據源。

 CrystalReportSource1.DataBind();

// CrystalReportViewer1是水晶報表瀏覽器,下面是給該瀏覽器賦上對像

 CrystalReportViewer1.ReportSource = CrystalReportSource1;

 CrystalReportViewer1.DataBind();

}

 

3.2推模型 push modeldemo

        string sDBConnetction = "Data Source=cotton-b;Initial Catalog=lhcy;Persist Security Info=True;User ID=sa;Password=123456";

        DataSet1 ds = new DataSet1();

        SqlConnection conn = new SqlConnection(sDBConnetction);

        SqlDataAdapter adapterProjectStage = new SqlDataAdapter("select * from ProjectStage where ProjectID=2", conn);

        adapterProjectStage.Fill(ds, "ProjectStage");

CrystalReportSource1.ReportDocument.Load(Server.MapPath("CrystalReport.rpt"));

CrystalReportSource1.ReportDocument.SetDataSource(ds.Tables["ProjectStage"]);

        CrystalReportSource1.DataBind();

        CrystalReportViewer1.ReportSource = CrystalReportSource1;

        CrystalReportViewer1.DataBind();

 

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
SetParameterValue for main report or subreport in crystal report
從ASP.NET傳遞參數給水晶報表
VB中使用水晶報表編程的一種簡(jiǎn)單方法
Access教程 第一章 Access數據庫基礎
使用RDLC做報表
實(shí)例講解:ASP.NET水晶報表教程
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久