凯锐

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  96 随笔 :: 39 文章 :: 212 评论 :: 23 引用

引子

水晶報表以其強大的功能占距了強大的開發市場,其列印出的報表美觀、大方,深得用戶喜愛,然而其某些功能上不免有些瑕疵。例如,當資料庫中只存放了圖片的路徑時,當你在設計報表時,卻沒有提供將其列印成圖片的功能。當然,新版本
XI R2是有提供這些功能的,然,你總不會因為這個功能就要求你老闆去買最新版的CrystalReport? 既然選擇了程式員這一行業,我想沒有最新的工具,我們也能做出漂亮的帶圖片的報表來的。跟我來

環境

1VS05 + SQL Server2000 + VS2005自帶的CrystalReport 10.2
2VS2005 + SQL Server2000 + Crystal Report XI R2(11.5)

索引

1、版本11以下的動態圖片的顯示
1-1、     數據庫中圖片字段的顯示
1-2、     動態顯示字段
1-3、     設計顯示水晶模板
1-4、     編碼獲取水晶數據源

2、版本11以上的動態圖片的顯示
2-1、版本的獲得
2-2、版本的升級
2-3、升級注意事項

內容

1版本11以下的動態圖片的顯示
        1-1、數據庫中圖片字段的顯示
    這個其實就是數據庫中某一個字段保存了圖片的二進制流。跟普通的水晶報表設計沒有什么兩樣的。唯一需要註意的是如何將二進制流寫入數據庫中,或如何從數據庫的相關字段中取出來。就可以了。我這里貼出一段讀寫數據庫中二進制字段的代碼出來。讀者朋友們參考自行修改。

CodeViaDbBinaryField

2-2、動態顯示字段
    關於這一點。我們首先應該自定義一個xsd的文件,VS2005操作圖片依次為:

  建立完如最后一張圖示的數據后,我們就可以開始設計水晶模板了。
    3-3、設計水晶模板,也就是我們常見的水晶報表文件的設計.
這一步注意數據庫專家選新建一個新的連接。如圖示

有了數據源之后,我想你的報表要如何擺放布局,就不需要教了吧。自行調整,我這里為了演示,布局如下

      4-4、這可能就是大家關心的地方的。
這里代碼主要是參考后面的后記里的部份代碼,在那篇文章中,只能顯示JPG和BMP格式的文件,制約了部分格式圖片的顯示.
而本篇所介紹的圖片是任意格式的均可顯示。先貼最終圖出來。

最后放出代碼

CodeofCRDynamicPic

 

2版本11以上的動態圖片的顯示

2-1、版本的獲得
以下兩個鏈接,我不保証長期有效,我也是從網上找的。呵呵
File 1 - EXE 700MB(http://ftp1.businessobjects.com/webprod/crxi/crxir2sp1/crxir2.part1.exe)*
File 2 - RAR 386MB(http://ftp1.businessobjects.com/webprod/crxi/crxir2sp1/crxir2.part2.rar)*
2-2、版本的升級
安裝完之后,打開VS2005,我們發現版本就變了。

而且我們在11.5版本的水晶文件中,可以利用公式來動態指定圖片的位置的。如圖示:


2-3、升級布署注意事項
我這里主要針對是WEB的,如果是Winform,建立打包的時候,將相關的合并模組打包發布出去。如果不行,請在你的本機C:"Program Files"Microsoft Visual Studio 8"SDK"v2.0"BootStrapper"Packages"CrystalReports下的CrystalRedist115_x86.msi拿到你的服務器上安裝一下。自然,如果是10.2的自帶版本,安裝CrystalRedist_x86.msi就可以了。只是不明白,網上似乎很多朋友說會出錯,我試過,卻是沒有問題的。如果是Web的話,本人建議你的Web.Config如下:


 

后記

1、文在成形之前,參考了網上阿泰實用主義的<<水晶报表中如何动态加载图片(图片文件版本及数据库版本)>>地址是:http://www.cnblogs.com/babyt/archive/2005/04/21/142789.html
2、余皆原創,轉載請註明來自http://jinliangliu.cnblogs.com/
3、專案源碼下載一http://files.cnblogs.com/jinliangliu/CrytalReport.rar(版本11以下)
4、專案源碼下載二http://files.cnblogs.com/jinliangliu/WebSite1.rar(版本11.5以上)



 


posted on 2008-07-17 13:44 凯锐 阅读(1562) 评论(3)  编辑 收藏 所属分类: ASP.NET DesignVB.NET

评论

#1楼  2008-07-17 13:47 菌哥      
为什么用繁体呢,看着不习惯
  回复  引用  查看    

#2楼  2008-07-17 21:28 qizai [未注册用户]
这段时间正好在用水晶报表。
  回复  引用    

#3楼  2008-07-17 22:43 飞天小鱼      
用datawindow.net也不错啊!
  回复  引用  查看    


标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      


相关链接: