西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁(yè)編程開(kāi)發(fā)C#.NET → 水晶報(bào)表2008在.NET中的開(kāi)發(fā)使用經(jīng)驗(yàn)總結(jié)

水晶報(bào)表2008在.NET中的開(kāi)發(fā)使用經(jīng)驗(yàn)總結(jié)

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:本站整理時(shí)間:2010/11/29 9:42:54字體大小:A-A+

作者:佚名點(diǎn)擊:1209次評(píng)論:0次標(biāo)簽: 水晶報(bào)表 sqlserver vs2008 .net3.5

CRYSTAL REPORTS 2008 (水晶報(bào)表2008)官方簡(jiǎn)體中文版 CR開(kāi)發(fā)人員版
  • 類型:編程輔助大小:303M語(yǔ)言:中文 評(píng)分:1.4
  • 標(biāo)簽:
立即下載

水晶報(bào)表是一個(gè)優(yōu)秀的報(bào)表開(kāi)發(fā)工具,本人在開(kāi)發(fā)通用管理系統(tǒng)的時(shí)候,所有報(bào)表都使用水晶報(bào)表,其簡(jiǎn)單、易用和強(qiáng)大的功能令筆者倍加喜愛(ài),現(xiàn)將水晶報(bào)表使用手記呈現(xiàn)給大家。

一、在使用自帶的水晶報(bào)表時(shí),請(qǐng)下載CRYSTAL REPORTS 2008 (水晶報(bào)表2008) 官方簡(jiǎn)體中文版 CR開(kāi)發(fā)人員版 并注冊(cè),否則只能使用30次

二、使用CrystalReportViewer進(jìn)行預(yù)覽

CrystalReportViewer控件允許在應(yīng)用程序中查看 Crystal Report。ReportSource 屬性用于設(shè)置要查看哪個(gè)報(bào)表。該屬性設(shè)置之后,報(bào)表顯示在查看器中。報(bào)表源可以是ReportDocument、報(bào)表文件的路徑,也可以是強(qiáng)類型報(bào)表。

1. 打開(kāi)“工具箱”,并將一個(gè) CrystalReportViewer 拖到窗體上,我們命名為rptVew。

2. 通過(guò)拖放操作將 Windows 窗體查看器調(diào)整到希望的大小并將其移動(dòng)到所需位置。

3. 當(dāng)運(yùn)行應(yīng)用程序時(shí),報(bào)表將顯示在查看器中。

三、創(chuàng)建新報(bào)表

1. 指向“添加”,單擊“添加新項(xiàng)”。

2. 在“添加新項(xiàng)”對(duì)話框中,從“模板”區(qū)域選擇 Crystal Report,將報(bào)表命名為rptClient,單擊“打開(kāi)”。

3. 在 Crystal Report 庫(kù)中,選擇下列選項(xiàng)之一:

· 使用報(bào)表專家 — 指導(dǎo)您完成報(bào)表的創(chuàng)建過(guò)程,并將您的選擇添加到 Crystal Report Designer。

· 作為空白報(bào)表 — 打開(kāi) Crystal Report Designer。

· 來(lái)自于現(xiàn)有的報(bào)表 — 創(chuàng)建新報(bào)表,它與指定的另一報(bào)表設(shè)計(jì)相同。

注意 Crystal Report 庫(kù)包含許多專家,可以指導(dǎo)您完成數(shù)個(gè)特定類型報(bào)表的創(chuàng)建工作。您可能希望使用專家來(lái)創(chuàng)建最初的報(bào)表,以確定哪種報(bào)表構(gòu)造方法適合您的需要。

4. 單擊“確定”按鈕。

如果選擇使用“報(bào)表專家”,便會(huì)出現(xiàn)“報(bào)表專家”對(duì)話框,并帶有數(shù)據(jù)資源管理器。為每個(gè)文件夾選擇所需數(shù)據(jù),完成“報(bào)表專家”選項(xiàng)卡界面上的操作,然后單擊“完成”來(lái)訪問(wèn) Crystal Report Designer 和您的報(bào)表

四、是否需要?jiǎng)討B(tài)設(shè)置數(shù)據(jù)源?

Crystal Reports 通過(guò)數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序與數(shù)據(jù)庫(kù)連接。每個(gè)驅(qū)動(dòng)程序都被編寫(xiě)為可處理特定數(shù)據(jù)庫(kù)類型或數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)。

拉和推模型
為了向開(kāi)發(fā)人員提供最靈活的數(shù)據(jù)訪問(wèn)方法,Crystal Reports 數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序被設(shè)計(jì)為可同時(shí)提供數(shù)據(jù)訪問(wèn)的拉模型和推模型。

拉模型

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

推模型

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

四、從 ADO.NET 數(shù)據(jù)集制作報(bào)表

從數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)集對(duì)象

1. 在項(xiàng)目中新建一個(gè)架構(gòu)文件:

a. 在解決方案資源管理器中,右擊項(xiàng)目名,指向“添加”,然后單擊“添加新項(xiàng)”。

b. 在“添加新項(xiàng)”對(duì)話框的“類別”區(qū)域,展開(kāi)文件夾,然后選擇“數(shù)據(jù)”。

c. 在“模板”區(qū)域選擇“數(shù)據(jù)集”。

d. 接受默認(rèn)名稱 Dataset1.xsd。

這就創(chuàng)建了一個(gè)新的架構(gòu)文件 (Dataset1.xsd),以后將用它來(lái)生成強(qiáng)類型數(shù)據(jù)集。該架構(gòu)文件將顯示在 ADO.NET 數(shù)據(jù)集設(shè)計(jì)器中。

2. 指定數(shù)據(jù)庫(kù)位置:

a. 在服務(wù)器資源管理器中,右擊“數(shù)據(jù)連接”并選擇“添加連接”。

b. 在“數(shù)據(jù)鏈接屬性”對(duì)話框中,單擊“提供程序”選項(xiàng)卡,然后選擇一個(gè)提供程序(例如 Microsoft OLE DB Provider for SQL Server)。 MS SQL Server 2008 數(shù)據(jù)庫(kù)http://innovatechautomation.com/soft/10844.html

c. 單擊“連接”選項(xiàng)卡,然后指定您的數(shù)據(jù)庫(kù)所在位置。在所需位置輸入服務(wù)器和登錄信息。

d. 單擊“確定”按鈕。

此時(shí),您的數(shù)據(jù)庫(kù)及其表和字段就出現(xiàn)在服務(wù)器資源管理器的“數(shù)據(jù)連接”節(jié)點(diǎn)下面。

3. 在解決方案資源管理器中,雙擊 Dataset1.xsd (如果它尚不是活動(dòng)視圖)。

Dataset1.xsd 現(xiàn)在應(yīng)顯示在“數(shù)據(jù)集”選項(xiàng)卡中。

4. 若要為數(shù)據(jù)集建立架構(gòu),請(qǐng)將需要的表從服務(wù)器資源管理器中拖動(dòng)到 Dataset1.xsd 的“數(shù)據(jù)集”選項(xiàng)卡上。

5. 單擊“保存 Dataset1.xsd”來(lái)保存“Dataset1.xsd”文件。

6. 在“生成”菜單上,單擊“生成”為項(xiàng)目生成數(shù)據(jù)集對(duì)象。

ADO.NET 數(shù)據(jù)集對(duì)象提供數(shù)據(jù)的描述,從它可以向 Crystal report 添加表。使用 Crystal Report Designer 中的“數(shù)據(jù)庫(kù)專家”從 ADO.NET 數(shù)據(jù)集對(duì)象添加表。

請(qǐng)?jiān)谑褂谩皥?bào)表專家”創(chuàng)建新報(bào)表時(shí)調(diào)用“數(shù)據(jù)庫(kù)專家”。或者,要從一個(gè)已經(jīng)使用 ADO.NET 建立好的報(bào)表中訪問(wèn)“數(shù)據(jù)庫(kù)專家”,請(qǐng)?jiān)?Report Designer 中右擊,指向“數(shù)據(jù)庫(kù)”,然后單擊“添加/刪除數(shù)據(jù)庫(kù)”。

將報(bào)表連接到 ADO.NET 數(shù)據(jù)集對(duì)象

1. 在“數(shù)據(jù)庫(kù)專家”中,展開(kāi)“項(xiàng)目數(shù)據(jù)”文件夾。

2. 展開(kāi)“ADO.NET 數(shù)據(jù)集”文件夾。

3. 選擇所需數(shù)據(jù)集對(duì)象。

例如,如果當(dāng)時(shí)使用的是從項(xiàng)目“WindowsApplication1”的架構(gòu)文件“Dataset1.xsd”中生成的數(shù)據(jù)集對(duì)象,則應(yīng)該選擇“WindowsApplication1.Dataset1”。

4. 選擇要向報(bào)表中添加的表,和使用其他數(shù)據(jù)源一樣。

五、動(dòng)態(tài)改變數(shù)據(jù)源的代碼

Dim dsdataSet As New DataSet()

Dim oRpt As New rptClient() '已建立的報(bào)表rptClient

請(qǐng)讀者自行填充數(shù)據(jù)集dsdataSet

'使用“報(bào)表引擎”對(duì)象模型將填充的數(shù)據(jù)集,傳遞給報(bào)表

oRpt.SetDataSource(dsdataSet.Tables(0))

' 將帶有數(shù)據(jù)的報(bào)表對(duì)象綁定到 Windows 窗體查看器,rptVew(CrystalReportViewer控件)

rptVew.ReportSource = oRpt

注意 FillDataSet 方法可連接到指定的數(shù)據(jù)庫(kù),提取數(shù)據(jù),然后斷開(kāi)數(shù)據(jù)庫(kù)連接。如果您希望將數(shù)據(jù)庫(kù)中的多個(gè)表添加到報(bào)表中,請(qǐng)使用 SQL JOIN 語(yǔ)句將這些表聯(lián)接在一起;然后在 FillDataSet 方法中指定一個(gè)結(jié)果表

六、創(chuàng)建主從報(bào)表

在報(bào)表中,有許多報(bào)表是主從表結(jié)構(gòu),比如訂單與訂單商品明細(xì),訂單是一個(gè)表中的一條記錄,而分錄是另一個(gè)表中的多條記錄,兩個(gè)表通過(guò)一個(gè)字段關(guān)聯(lián)起來(lái),這種報(bào)表可利用其分組功能實(shí)現(xiàn),VS2008下載http://innovatechautomation.com/soft/3839.html  

1. 新建一個(gè)工程

2. 往FORM1中添加一個(gè)CrystalReportViewer控件

3. 在服務(wù)噐資源管理器中連接到SQL SERVER 2000上的Northwind數(shù)據(jù)庫(kù)

4. 添加一個(gè)數(shù)據(jù)集Dataset1,將服務(wù)器資源管理器中的Orders和 Order Details加入到數(shù)據(jù)集中。

5. 添加一個(gè)水晶報(bào)表,使用報(bào)表專家,在項(xiàng)目數(shù)據(jù)中選擇“ADO.NET數(shù)據(jù)集”,插入表Orders和 Order Details,“鏈接”中是關(guān)聯(lián)字段的鏈接,在“字段”中選擇要顯示的主表和明細(xì)表的字段,組中選擇分組依據(jù)為Orders表OrdersID字段,總計(jì),圖表,選擇(可進(jìn)行篩選),樣式(可設(shè)置報(bào)表標(biāo)題),可自行設(shè)置。設(shè)置完后,點(diǎn)擊完成。

6. 在報(bào)表設(shè)計(jì)器中調(diào)整需要顯示的字段的位置、寬度等。

7. 在窗口中添加代碼。

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim oRpt As New CrystalReport1()

Dim dsdataSet As New Dataset1()

Dim CN As New Data.SqlClient.SqlConnection("data source=PMSERVER;initial catalog=Northwind;user id=sa;password=sa")

CN.Open()

Dim daOrders As New Data.SqlClient.SqlDataAdapter("select * from orders", CN)

daOrders.Fill(dsdataSet, "orders")

Dim daDetails As New Data.SqlClient.SqlDataAdapter("select * from [Order Details]", CN)

daDetails.Fill(dsdataSet, "Order Details")

'使用“報(bào)表引擎”對(duì)象模型將填充的數(shù)據(jù)集,傳遞給報(bào)表

oRpt.SetDataSource(dsdataSet)

CrystalReportViewer1.ReportSource = oRpt

End Sub

8、運(yùn)行程序

七、用程序改變報(bào)表中text的文本

代碼如下:
Dim GetTextObject As TextObject

' 按名稱獲取 ReportObject,將其轉(zhuǎn)換為 TextObject,并返回此對(duì)象。

GetTextObject = orpt.ReportDefinition.ReportObjects.Item("text13")

GetTextObject.Text = "XXXX系統(tǒng)"

總結(jié):水晶報(bào)表具有非常強(qiáng)大的功能,還可進(jìn)行導(dǎo)出WORD、EXCEL、RTF等文件,還可生成復(fù)雜、漂亮圖表,是進(jìn)行WEB和WINDOWS報(bào)表開(kāi)發(fā)的利器。

    數(shù)據(jù)分析軟件
    (21)數(shù)據(jù)分析軟件
    數(shù)據(jù)分析是指用適當(dāng)?shù)慕y(tǒng)計(jì)分析方法對(duì)收集來(lái)的大量數(shù)據(jù)進(jìn)行分析,提取有用信息和形成結(jié)論而對(duì)數(shù)據(jù)加以詳細(xì)研究和概括總結(jié)的過(guò)程。正所謂工欲善其事,必先利其器,不管是數(shù)據(jù)分析也好,統(tǒng)計(jì)分析也好,數(shù)據(jù)挖掘也好,我們都需要一款好的數(shù)據(jù)分析軟件來(lái)幫助我們完成這些事情,那么在數(shù)據(jù)分析領(lǐng)域,都有哪些軟件分析工具呢如何選擇呢這里西西就給大家提供了一些專業(yè)實(shí)用的數(shù)據(jù)分析軟件下載,如果你有相關(guān)的需要可以來(lái)西西看看有沒(méi)有想下...更多>>

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過(guò)難過(guò)
    • 5 囧
    • 3 圍觀圍觀
    • 2 無(wú)聊無(wú)聊

    熱門評(píng)論

    最新評(píng)論

    第 1 樓 廣東深圳電信 網(wǎng)友 客人 發(fā)表于: 2011/5/26 16:57:49
    asd

    支持( 0 ) 蓋樓(回復(fù))

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)