★33°空間‰


                                 ----★七彩服飾  【最潮拜☆日單精品】【Esprit】【Hotwind】滿150包郵-女裝-流行女裝    www.7color.hb.cn

                                 ----智力比知識重要,素質比智力重要,覺悟比素質更重要
          posts - 110,comments - 35,trackbacks - 0
          水晶報表是一個優秀的報表開發工具,本人在開發通用管理系統的時候,所有報表都使用水晶報表,其簡單、易用和強大的功能令筆者倍加喜愛,現將水晶報表使用手記呈現給大家。?

            一、在使用自帶的水晶報表時,請注冊,否則只能使用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報表開發的利器。?
          posted on 2007-01-04 16:29 圣域飛俠 閱讀(2101) 評論(2)  編輯  收藏 所屬分類: 轉載

          FeedBack:
          # re: .NET環境下水晶報表使用總結(VB.NET)
          2010-12-28 16:48 | chansing
          如何注冊  回復  更多評論
            
          # re: .NET環境下水晶報表使用總結(VB.NET)
          2010-12-29 11:27 | kuaige
          水晶報表如何注冊  回復  更多評論
            
          主站蜘蛛池模板: 方正县| 靖边县| 松阳县| 长岛县| 武邑县| 剑河县| 阿克苏市| 威海市| 疏附县| 苏尼特左旗| 新干县| 平果县| 鲁山县| 溆浦县| 宝应县| 扶余县| 芷江| 崇左市| 渝北区| 安吉县| 宽城| 缙云县| 富民县| 乌拉特后旗| 松桃| 津市市| 台北县| 郧西县| 聂荣县| 杭锦后旗| 万源市| 尖扎县| 大理市| 孝义市| 三明市| 长丰县| 乌兰浩特市| 梅河口市| 新乡市| 宜黄县| 嘉禾县|