VB.NET水晶報表控件經驗總結
學習VB.NET時,你可能會遇到VB.NET水晶報表控件問題,這里將介紹VB.NET水晶報表控件問題的解決方法,在這里拿出來和大家分享一下。
Crystal Reporter(水晶報表)
做為一個優秀的報表軟件,水晶報表是實際應用中最多的方案。在這一節里主要介紹一下水晶報表的定制和顯示,打印功能的實現。首先要區分水晶報表插件程序和VB.NET水晶報表控件。前者主要用來創建報表模板,后者主要是用來在程序中顯示和打印報表,這兩者的分工決定了它們程序中的功能的不同。其中水晶報表的插件程序可以從Seagate公司的官方網站上下載***的測試版本。
1.VB.NET水晶報表控件程序的使用
選擇"外接程序"菜單的"報表設計器"選項,則VB將執行水晶報表 Pro插件應用程序。在水晶報表 Pro里選擇"新建報表"圖標,可以選擇8標準模板和一個自定義的模板來開始報表工程。
整個水晶報表的使用跟***節的Data Report的使用很類似。首先需要給報表選擇數據源,(即數據庫),然后就可以在報表中添加、刪除、修改字段以及為記錄分組,可以利用水晶報表創建很多具有自定義風格的報表。由于本身水晶報表插件程序就是一個功能強大的報表設計軟件,這里就不能一一的講解了,有興趣可以參考程序自帶的幫助文檔。
2.VB.NET水晶報表控件的背景知識
水晶報表 Pro還提供一個報表生成模塊,該模塊可以連接到并訪問VB應用程序,VB程序員不需花費大量時間寫自己的代碼就可再應用程序中添加復雜的報表生成及輸出功能。
水晶報表引擎是一個動態鏈接庫,它可以使應用程序訪問并具有同水晶報表 一樣強大的報表輸出功能。應用程序是通過水晶報表 ActiveX控件來訪問引擎。再編譯時應用程序同報表引擎鏈接,以給應用程序添加了生成報表的功能。
當程序使用水晶報表 ActiveX控件時,可以通過再設計時設置Crystal對象屬性或者再運行時改變對象屬性,來建立應用程序和水晶報表之間的連接。通過Crystal控件的屬性可以指定:
◆響應應用程序某個事件的輸出報表的名字。
◆報表的目標位置(預覽窗口、磁盤文件或者電子郵件等)。
◆想要打印的份數(如果報表提交給打印機的話)。
◆輸出文件的信息。
◆預覽窗口的大小及位置信息(如果報表在預覽窗口中顯示時)。
◆選擇公式信息(如果在報表中限制記錄的話)。
◆排序信息。
◆其他相關的屬性。
這里要注意一點的是,Crystal控件必須在由水晶報表 Pro創建的報表中使用,而試圖在VB應用程序里引用之前,必須首先創建報表。
3.VB.NET水晶報表控件的使用
了解了VB.NET水晶報表控件的功能,那么就可以使用它了。首先通過"工程"的"部件"選項里面選擇"水晶報表 Control",那么VB的工具箱里面就添加了VB.NET水晶報表控件了。
注意,對于VB.NET水晶報表控件的最重要的屬性就是ReportFileName了,把它設置為前面已經在水晶報表 Pro里定制好的報表模板的文件路徑。那么只需要調用控件的PrintReport方法就可以將報表顯示出來了。
相對于Data Report控件來說,VB.NET水晶報表控件的功能更加的完善,報表預覽,打印,編輯修改等功能都很完善,所以在實際的報表應用設計方案中,使用水晶報表的相對較多。然而VB.NET水晶報表控件也有它的局限性,即它不能在運行時創建自定義的窗口。可以使用控件的數據綁定屬性來創建數據綁定報表,但是報表本身的格式都是由 VB.NET水晶報表控件內部進行處理的。一般說來,VB.NET水晶報表控件不提供在程序中對報表字段級的訪問。這一缺陷可以通過設計出足夠多的報表來彌補。
【編輯推薦】