亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

NET環境下水晶報表使用總結

2019-11-18 16:39:01
字體:
來源:轉載
供稿:網友

作者:李洪根 微軟MVP        E-MAIL:lihonggen0@163.com

水晶報表是一個優秀的報表開發工具,本人在開發通用管理系統的時候,所有報表都使用水晶報表,其簡單、易用和強大的功能令筆者倍加喜愛,現將水晶報表使用手記呈現給大家。

一、在使用自帶的水晶報表時,請注冊,否則只能使用30次

水晶報表注冊碼
注冊號:6707437608
密碼:AAP5GKS0000GDE100DS

二、使用CrystalReportViewer進行預覽

CrystalReportViewer控件允許在應用程序中查看 Crystal Report。ReportSource 屬性用于設置要查看哪個報表。該屬性設置之后,報表顯示在查看器中。報表源可以是ReportDocument、報表文件的路徑,也可以是強類型報表。

1.      打開“工具箱”,并將一個 CrystalReportViewer 拖到窗體上,我們命名為rptVew。

2.      通過拖放操作將 Windows 窗體查看器調整到希望的大小并將其移動到所需位置。

3.      當運行應用程序時,報表將顯示在查看器中。

三、創建新報表

1.      指向“添加”,單擊“添加新項”。

2.      在“添加新項”對話框中,從“模板”區域選擇 Crystal Report,將報表命名為rptClient,單擊“打開”。

3.      在 Crystal Report 庫中,選擇下列選項之一:

·         使用報表專家 — 指導您完成報表的創建過程,并將您的選擇添加到 Crystal Report Designer。

·         作為空白報表 — 打開 Crystal Report Designer。

·         來自于現有的報表 — 創建新報表,它與指定的另一報表設計相同。

注意   Crystal Report 庫包含許多專家,可以指導您完成數個特定類型報表的創建工作。您可能希望使用專家來創建最初的報表,以確定哪種報表構造方法適合您的需要。

4.      單擊“確定”按鈕。

如果選擇使用“報表專家”,便會出現“報表專家”對話框,并帶有數據資源管理器。為每個文件夾選擇所需數據,完成“報表專家”選項卡界面上的操作,然后單擊“完成”來訪問 Crystal Report Designer 和您的報表

四、是否需要動態設置數據源?

Crystal Reports 通過數據庫驅動程序與數據庫連接。每個驅動程序都被編寫為可處理特定數據庫類型或數據庫訪問技術。

拉和推模型
為了向開發人員提供最靈活的數據訪問方法,Crystal Reports 數據庫驅動程序被設計為可同時提供數據訪問的拉模型和推模型。

拉模型

在拉模型中,驅動程序將連接到數據庫并根據需要將數據“拉”進來。使用這種模型時,與數據庫的連接和為了獲取數據而執行的 SQL 命令都同時由 Crystal Reports 本身處理,不需要開發人員編寫代碼。如果在運行時無須編寫任何特殊代碼,則使用拉模型。

推模型

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

四、從 ADO.NET 數據集制作報表

從數據庫創建數據集對象

1.      在項目中新建一個架構文件:

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

b.      在“添加新項”對話框的“類別”區域,展開文件夾,然后選擇“數據”。

c.      在“模板”區域選擇“數據集”。

d.      接受默認名稱 Dataset1.xsd。

這就創建了一個新的架構文件 (Dataset1.xsd),以后將用它來生成強類型數據集。該架構文件將顯示在 ADO.NET 數據集設計器中。

2.      指定數據庫位置:

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

b.      在“數據鏈接屬性”對話框中,單擊“提供程序”選項卡,然后選擇一個提供程序(例如 Microsoft OLE DB PRovider for SQL Server)。

c.      單擊“連接”選項卡,然后指定您的數據庫所在位置。在所需位置輸入服務器和登錄信息。

d.      單擊“確定”按鈕。

此時,您的數據庫及其表和字段就出現在服務器資源管理器的“數據連接”節點下面。

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

Dataset1.xsd 現在應顯示在“數據集”選項卡中。

4.      若要為數據集建立架構,請將需要的表從服務器資源管理器中拖動到 Dataset1.xsd 的“數據集”選項卡上。

5.      單擊“保存 Dataset1.xsd”來保存“Dataset1.xsd”文件。

6.      在“生成”菜單上,單擊“生成”為項目生成數據集對象。

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

請在使用“報表專家”創建新報表時調用“數據庫專家”?;蛘?,要從一個已經使用 ADO.NET 建立好的報表中訪問“數據庫專家”,請在 Report Designer 中右擊,指向“數據庫”,然后單擊“添加/刪除數據庫”。

將報表連接到 ADO.NET 數據集對象

1.      在“數據庫專家”中,展開“項目數據”文件夾。

2.      展開“ADO.NET 數據集”文件夾。

3.      選擇所需數據集對象。

例如,如果當時使用的是從項目“Windowsapplication1”的架構文件“Dataset1.xsd”中生成的數據集對象,則應該選擇“WindowsApplication1.Dataset1”。

4.      選擇要向報表中添加的表,和使用其他數據源一樣。 

五、動態改變數據源的代碼

               Dim dsdataSet As New DataSet()

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

                請讀者自行填充數據集dsdataSet

                '使用“報表引擎”對象模型將填充的數據集,傳遞給報表

                oRpt.SetDataSource(dsdataSet.Tables(0))

                ' 將帶有數據的報表對象綁定到 Windows 窗體查看器,rptVew(CrystalReportViewer控件)

                rptVew.ReportSource = oRpt

注意   FillDataSet 方法可連接到指定的數據庫,提取數據,然后斷開數據庫連接。如果您希望將數據庫中的多個表添加到報表中,請使用 SQL JOIN 語句將這些表聯接在一起;然后在 FillDataSet 方法中指定一個結果表

六、創建主從報表

在報表中,有許多報表是主從表結構,比如訂單與訂單商品明細,訂單是一個表中的一條記錄,而分錄是另一個表中的多條記錄,兩個表通過一個字段關聯起來,這種報表可利用其分組功能實現,

1.      新建一個工程

2.      往FORM1中添加一個CrystalReportViewer控件

3.      在服務噐資源管理器中連接到SQL SERVER 2000上的Northwind數據庫

4.      添加一個數據集Dataset1,將服務器資源管理器中的Orders和 Order Details加入到數據集中。

5.      添加一個水晶報表,使用報表專家,在項目數據中選擇“ADO.NET數據集”,插入表Orders和 Order Details,“鏈接”中是關聯字段的鏈接,在“字段”中選擇要顯示的主表和明細表的字段,組中選擇分組依據為Orders表OrdersID字段,總計,圖表,選擇(可進行篩選),樣式(可設置報表標題),可自行設置。設置完后,點擊完成。

6.      在報表設計器中調整需要顯示的字段的位置、寬度等。

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")

        '使用“報表引擎”對象模型將填充的數據集,傳遞給報表

        oRpt.SetDataSource(dsdataSet)

        CrystalReportViewer1.ReportSource = oRpt

    End Sub

8、運行程序

七、用程序改變報表中text的文本

代碼如下:
                Dim GetTextObject As TextObject

                ' 按名稱獲取 ReportObject,將其轉換為 TextObject,并返回此對象。

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

                GetTextObject.Text = "XXXX系統"

總結:水晶報表具有非常強大的功能,還可進行導出WORD、Excel、RTF等文件,還可生成復雜、漂亮圖表,是進行WEB和WINDOWS報表開發的利器。

(此文部分資料來自MSDN)

Author:李洪根

E-MAIL:lihonggen0@163.com


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲人在线观看| 91免费国产网站| 亚洲第一偷拍网| 精品视频在线观看日韩| 欧美日韩亚洲成人| 欧美在线视频免费| 亚洲福利视频专区| 欧美日韩中文字幕在线视频| 日韩av黄色在线观看| 日韩电影免费观看在线| 久久精品99久久香蕉国产色戒| 欧美黄色片在线观看| 97在线视频免费播放| 色噜噜久久综合伊人一本| 亚洲跨种族黑人xxx| 日韩av在线直播| 国产精品入口福利| 欲色天天网综合久久| 91精品久久久久久久久久久| 国产视频久久网| 亚洲自拍另类欧美丝袜| 亚洲欧美制服丝袜| 69av成年福利视频| 国产日韩精品电影| 成人精品久久一区二区三区| 亚洲欧美在线x视频| 亚洲人精品午夜在线观看| 91极品视频在线| 高清欧美性猛交xxxx黑人猛交| 欧美最近摘花xxxx摘花| 尤物99国产成人精品视频| 日韩免费电影在线观看| 久久精品中文字幕免费mv| 国产日韩中文字幕在线| 欧美裸体视频网站| 亚洲午夜av久久乱码| 国产成人综合亚洲| 国产精品丝袜久久久久久不卡| 久久精品久久久久久国产 免费| 97国产suv精品一区二区62| 亚洲高清福利视频| 91久久国产婷婷一区二区| 亚洲国产女人aaa毛片在线| 97在线视频免费观看| 91sa在线看| 国内精品久久久久久中文字幕| 69av视频在线播放| 成人综合国产精品| 久久99久国产精品黄毛片入口| www国产91| 国内精品美女av在线播放| 亚洲乱亚洲乱妇无码| 日韩精品在线免费观看| 日韩激情视频在线| 国产一区二区在线免费| 亚洲欧美成人一区二区在线电影| 亚洲一区亚洲二区亚洲三区| 欧美午夜片欧美片在线观看| 欧美视频裸体精品| 8090成年在线看片午夜| 成人动漫网站在线观看| 色阁综合伊人av| 欧美在线视频播放| 欧美日韩一区免费| 中文字幕亚洲无线码在线一区| 欧美精品一区二区免费| 久久综合久中文字幕青草| 欧美电影免费观看高清| 中文字幕亚洲在线| 国产美女久久精品香蕉69| 国产精品ⅴa在线观看h| 国产亚洲欧美aaaa| 国产免费一区二区三区香蕉精| 超碰日本道色综合久久综合| 欧美精品videosex牲欧美| 国产精品电影网| 久久久精品中文字幕| 午夜精品久久久久久久男人的天堂| 中文字幕精品—区二区| 亚洲国产欧美一区二区三区久久| 高清一区二区三区四区五区| 欧美日韩亚洲激情| 久久青草福利网站| 国产亚洲激情在线| 伊人精品在线观看| 国内精品一区二区三区四区| 国产精品99久久久久久久久| 亚洲黄色片网站| 精品人伦一区二区三区蜜桃免费| 91色琪琪电影亚洲精品久久| 久久精品成人动漫| 亚洲小视频在线观看| 国产亚洲一级高清| 日韩精品免费在线视频| 欧美精品在线观看| 精品中文视频在线| 欧美性猛交xxxx乱大交极品| 亚洲理论电影网| 不卡av在线播放| 精品动漫一区二区| 国产精品久久久久久久久久尿| 欧美一区第一页| 日韩美女激情视频| 亚洲毛片在线看| 国产精品日韩久久久久| 亚洲精品久久久久久久久久久久| 国产成人精品视频在线| 久久久久北条麻妃免费看| 精品成人69xx.xyz| 亚洲精品国产拍免费91在线| 一本一道久久a久久精品逆3p| 日韩激情av在线免费观看| 亚洲人在线观看| 久久久久一本一区二区青青蜜月| 欧美性受xxxx黑人猛交| 韩国三级日本三级少妇99| 91精品国产九九九久久久亚洲| 亚洲天堂av在线免费观看| 91精品国产高清久久久久久91| 欧美性受xxxx白人性爽| 日韩免费观看视频| 亚洲精品第一国产综合精品| 日韩中文字在线| 激情懂色av一区av二区av| 国产日产久久高清欧美一区| 日韩高清av在线| 日韩av免费在线播放| 尤物九九久久国产精品的分类| 懂色av一区二区三区| 青青草国产精品一区二区| 国产精品黄页免费高清在线观看| 久久精品欧美视频| 久久av红桃一区二区小说| 国产不卡av在线免费观看| 国产一区二区丝袜高跟鞋图片| 欧美黑人性生活视频| 国产精品国产三级国产专播精品人| 成人午夜小视频| 性欧美xxxx| 国产91露脸中文字幕在线| 国产精品久久久久久久久久99| 国产一区红桃视频| 91精品国产高清久久久久久91| 欧美做受高潮电影o| 亚洲精品456在线播放狼人| 欧美高清视频在线播放| 夜夜躁日日躁狠狠久久88av| 国产精品影院在线观看| 韩国国内大量揄拍精品视频| 欧美午夜性色大片在线观看| 免费91麻豆精品国产自产在线观看| 亚洲片在线观看| 国产日韩视频在线观看| 欧美丰满片xxx777| 日本精品视频在线观看| 影音先锋欧美在线资源| 91久久精品久久国产性色也91| 欧美性xxxx18| 国产精品入口夜色视频大尺度| 色综合老司机第九色激情| xxxx欧美18另类的高清| 亚洲第五色综合网| 一本色道久久88综合亚洲精品ⅰ| 成人观看高清在线观看免费|