Crystal Report 打包過程。將
C:\Program Files\Common Files\Merge Modules\ 下的Crystal_Database_Access2003.msm
Crystal_Database_Access2003_chs.msm
Crystal_Managed2003.msm
Crystal_Managed2003_chs.msm
Crystal_regwiz2003.msm
這五個文件添加進入安裝包。
并設置包Crystal_regwiz2003.msm的ModuleDependencies屬性值為“AAP5G-KS00000-U7000T5”
Cryustall Report.net 的序列號:
注冊號碼:6192203776
Key:AAP5G-KS00000-U7000T5
不過只能5個用戶同時用
使用Crystal Report.net進行開發的一些預備知識:
執行模式
水晶報表取數據可以使用下面的方法實現:
Pull 模式:
被請求時,水晶報表直接根據指定的驅動連接數據庫然后組裝這些數據。
Push 模式 :
此時開發表不得不自己編寫代碼連接數據并組裝DataSet,同時將它傳送至報表。在些這種情況下,通過使用連接共享以及限制記錄集合的大小,可以使用報表性能最大化。
報表類型:
水晶報表設計器能夠直接包含報表至工程也能夠使用獨立的報表對象。
Strongly-typed 報表 :
當你將報表文件加入到項目中去時,它就變成了一個了“ strongly-typed“報表。在這些情況下,你將擁有直接創建報表的對象的權力,這將減少一些代碼并且能夠提供一些性能。
Un-Typed 報表 :
這里的報表并不直接包含在項目中,因此稱為‘un-typed’ 報表。在這種情況下,你不得不使用水晶報表的”ReportDocuemt“對象建立一個實例,并且”手動“地凋用報表。
其它注意事項
盡管水晶報表查看器擁有一些很酷的功能,如縮放、頁面導航等。但是他不提供打印功能,你不得不調用游覽器的打印功能。
VS.Net中的水晶報表如果沒有注冊,那么它只能使用30次,30次后,”保存“功能就不能再使用了。為了避免這個,你不是不在 http://www.crystaldecisions.com/這里注冊此產品。 (好像不是這樣子的,不注冊也好像能用很長的時間,只是不能提供支持)
默認安裝的水晶報表只能支持5個用戶,為了支持更多的用戶,你不得不在 http://www.crystaldecisions.com/中購買許可證。
我在實際開發應用中使用的是Push 模式 : , 因為一般表格模式比較簡單,在Web開發上完全可以用其他方式替代,因此,我使用的是實際開發中的圖形報表做為例子。
開發步驟如下:
1、在項目中創建一個數據集,然后右鍵->選擇“新建element”,element的名稱就是數據表的名稱。
數據集名稱暫時定為:ReportData,element相當于一個數據表,名稱暫定為:DataTable,下一步是給element
增加字段,也就是我們報表中要使用的數據。注意字段類型。
2、繪制一個空的Crystal Report的報表文件(*.rpt),然后,在報表繪制界面上右鍵->選擇“數據庫->添加/刪除數據庫”打開“數據庫專家”,選擇“項目數據->ADO.net數據集”,你會看到剛才創建的element數據集ReportData,選用DataTable做為報表數據。下一步,通過報表專家插入“圖表”,使用DataTable中的數據字段
來生成報表的數據。
3、創建一個Web窗體,在窗體上放一個CRYSTALREPORTVIEWER控件!寫代碼獲取填充一個定義的數據集DataSet,然后,生成一個“報表文件的對象”,把該對象的數據源指向已經填充數據的DataSet,對CRYSTALREPORTVIEWER控件的ReportSource屬性賦值等于生成的“報表文件的對象”,CRYSTALREPORTVIEWER控件的Visible屬性設置為true;
代碼注意事項:
1、DataSet中填充數據的表的名稱必須和原來定義的element一致,否則報表出來會是空白
2、用于填充DataSet數據表的字段也要和element定義的字段屬性,名稱一致!
比如:
element中定義字段有兩個:EntryName string, EntrySales decimal
填充DataSet的SQL語句,
Select B.Item_Name as EntryName ,Sum(A.Expend_Money) AS EntrySales From T_Ware_Sales .......
完成以上3個步驟,你就可以在IE上看到你的Web圖形報表了,其實就是Crystal生成的一張圖片!
大功告成!
下一個章節,我將用自己的代碼來詳細說明整個過程。不過要是熟悉.net開發的按照我在本章節所描述的內容,應該已經沒問題了!
有一次把一個使用Crystal的項目移植,到另外的一個開發環境下!
項目運行起來發現,crystal生成的圖片全變成了紅X, NND惡心啊!
后來和運行良好的環境比較發現,新的IIS網站根目錄下缺少一個虛擬目錄: CrystalReportWebFormViewer2 該虛擬目錄指向 D:\Studio.net 2003\Crystal Reports\Viewers\ , 就是我安裝Studio.net 開發環境的目錄下!
我在新環境中建一個同名的虛擬目錄,指向新機器的對應目錄!
再次運行項目! 一切OK!
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
