【水晶报表之图片篇-c】 CR 11版本动态加载的另一种简单方案
2015-03-24 16:09
627 查看
2005年我在《水晶报表中如何动态加载图片(图片文件版本及数据库版本)》
提供的方法中,用了编程的方法,虽然也实现了,但是比较繁琐
地址:
/article/4662151.html
对于数据库中仅保存图片路径的情况,主要是用了根据路径读取图片为stream的方法
今天一个无意中的发现了另外一种简便的实现方法,不用编程,直接用水晶报表就能实现
本文基于CR XI 独立版本实现。CR9和CR10都无此功能。
首先构建两个表testpics_1和testpics_2,其中1保存了图片的绝对路径,1保存了相对路径
![](http://images.cnblogs.com/cnblogs_com/babyt/CR2008080601-10.jpg)
路径中的图片都已经放到了指定位置,其中1的第4条记录对应的图片不真实存在。
先以表1为例子,设计如下报表,在详细资料节加入一个图片。
![](http://images.cnblogs.com/cnblogs_com/babyt/CR2008080601-1.jpg)
预览为如下效果
![](http://images.cnblogs.com/cnblogs_com/babyt/CR2008080601-2.jpg)
在图片上点右键,
![](http://images.cnblogs.com/cnblogs_com/babyt/CR2008080601-3.jpg)
进入如下界面
![](http://images.cnblogs.com/cnblogs_com/babyt/CR2008080601-4.jpg)
编辑公式为
![](http://images.cnblogs.com/cnblogs_com/babyt/CR2008080601-5.jpg)
再刷新报表,就出现了想要的效果
![](http://images.cnblogs.com/cnblogs_com/babyt/CR2008080601-6.jpg)
注意第3条记录,对gif格式文件应该是不支持,所以显示了初始图片
第4条记录的图片不存在,也显示了默认图片
重新以表2做一个新的报表,因为这个路径是相对的,所以在公式中写如下内容,
![](http://images.cnblogs.com/cnblogs_com/babyt/CR2008080601-7.jpg)
刷新后显示的是初始图片
![](http://images.cnblogs.com/cnblogs_com/babyt/CR2008080601-8.jpg)
将该报表保存到c盘,与test2目录平级,重新刷新报表,图片正确显示。
![](http://images.cnblogs.com/cnblogs_com/babyt/CR2008080601-9.jpg)
--over--
在我的项目中,我是用报表的参数来作为路径的,
picPath = AppDomain.CurrentDomain.BaseDirectory + @"../../../Picture/";
testReport.SetParameterValue("testPath", picPath+"aa.jpg");
然后图片的路径设置为{?testPath}即可
最后,水晶报表,我草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马
提供的方法中,用了编程的方法,虽然也实现了,但是比较繁琐
地址:
/article/4662151.html
对于数据库中仅保存图片路径的情况,主要是用了根据路径读取图片为stream的方法
今天一个无意中的发现了另外一种简便的实现方法,不用编程,直接用水晶报表就能实现
本文基于CR XI 独立版本实现。CR9和CR10都无此功能。
首先构建两个表testpics_1和testpics_2,其中1保存了图片的绝对路径,1保存了相对路径
![](http://images.cnblogs.com/cnblogs_com/babyt/CR2008080601-10.jpg)
路径中的图片都已经放到了指定位置,其中1的第4条记录对应的图片不真实存在。
先以表1为例子,设计如下报表,在详细资料节加入一个图片。
![](http://images.cnblogs.com/cnblogs_com/babyt/CR2008080601-1.jpg)
预览为如下效果
![](http://images.cnblogs.com/cnblogs_com/babyt/CR2008080601-2.jpg)
在图片上点右键,
![](http://images.cnblogs.com/cnblogs_com/babyt/CR2008080601-3.jpg)
进入如下界面
![](http://images.cnblogs.com/cnblogs_com/babyt/CR2008080601-4.jpg)
编辑公式为
![](http://images.cnblogs.com/cnblogs_com/babyt/CR2008080601-5.jpg)
再刷新报表,就出现了想要的效果
![](http://images.cnblogs.com/cnblogs_com/babyt/CR2008080601-6.jpg)
注意第3条记录,对gif格式文件应该是不支持,所以显示了初始图片
第4条记录的图片不存在,也显示了默认图片
重新以表2做一个新的报表,因为这个路径是相对的,所以在公式中写如下内容,
![](http://images.cnblogs.com/cnblogs_com/babyt/CR2008080601-7.jpg)
刷新后显示的是初始图片
![](http://images.cnblogs.com/cnblogs_com/babyt/CR2008080601-8.jpg)
将该报表保存到c盘,与test2目录平级,重新刷新报表,图片正确显示。
![](http://images.cnblogs.com/cnblogs_com/babyt/CR2008080601-9.jpg)
--over--
在我的项目中,我是用报表的参数来作为路径的,
picPath = AppDomain.CurrentDomain.BaseDirectory + @"../../../Picture/";
testReport.SetParameterValue("testPath", picPath+"aa.jpg");
然后图片的路径设置为{?testPath}即可
最后,水晶报表,我草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马草泥马
相关文章推荐
- 【水晶报表之图片篇-c】 CR 11版本动态加载的另一种简单方案
- 水晶报表图片动态加载的另一种简单方案
- 水晶报表图片动态加载的另一种简单方案
- 【水晶报表之图片篇-b】 CR 11以下版本动态显示图片(数据库保存图片路径)
- 【水晶报表之图片篇-a】 动态加载图片(图片文件版本及数据库版本)
- 水晶报表中如何动态加载图片(图片文件版本及数据库版本)
- 【水晶报表之图片篇-a】 动态加载图片(图片文件版本及数据库版本)
- 水晶报表中如何动态加载图片(图片文件版本及数据库版本)
- 水晶报表中如何动态加载图片(图片文件版本及数据库版本)
- 水晶报表中如何动态加载图片(图片文件版本及数据库版本)
- 【水晶报表之图片篇-a】 动态加载图片(图片文件版本及数据库版本)
- 水晶报表中如何动态加载图片(图片文件版本及数据库版本)
- 水晶报表中如何动态加载图片时显示不了图片的可能原因之一
- 转贴:水晶报表动态加载图片(签名)
- 水晶报表中如何动态加载图片
- 水晶报表动态加载磁盘图片
- 水晶报表动态加载图片(签名)
- [水晶报表]动态加载图片(签名)
- 解决水晶报表中动态加载的图片或利用水晶报表创建的图表不显示图片的方法
- 在水晶报表中动态显示任意格式的图片