今天要分享的的经验是——在水晶报表中插入图片。这是一个非常常用的功能。对于静态图片【固定图片】插入,比如插入公司logo或者公司公众号二维码等,还是很简单的。这个不用说了,今天要分享的是动态图片插入。
动态图片插入这个功能很重要,但是网上搜索了一遍,发现能满足自己需求的,很少。一次偶然找到一个比较接近的文章,于是在他的基础上摸索,然后实现了自己的想要的功能。今日分享。
动态图片显示一种使用二进制,这个实现起来比较麻烦,今天不谈。一种是使用链接。这也是我今天要分享的内容。
我是使用参数化实现的。看代码
第一步 编写代码
rd.SetParameterValue("TeuSeq", string.Format("[{0}]", m.TeuSeq));
rd.SetParameterValue("BatchNo", string.Format("[{0}]", m.BatchNo));
rd.SetParameterValue("OrdersID", string.Format("[{0}]", list.First().OrdersID));
rd.SetParameterValue("StaffID", string.Format("[{0}]", m.StaffID));
// var signatureUrl = "https://www.runoob.com/wp-content/uploads/2015/02/git-command.jpg";
// string signatureUrl = System.Web.HttpContext.Current.Server.MapPath("~" + "/Images/erweima.png" ?? "");
string signatureUrl = "http://localhost:8096/Images/ctw.jpg";
string ddd = "http://cloud.cqvip.com/image/vpcs2017/NewTemp/img/logo/logo-419.png";
string xxx = "https://pic1.zhimg.com/v2-d58ce10bf4e01f5086c604a9cfed29f3_r.jpg";
xxx = "https://img.51miz.com/Element/00/84/09/57/98b148ee_E840957_4a56d772.png";
rd.SetParameterValue("signatureUrl", string.Format("{0}", xxx));
这里使用参数signatureUrl,在代码中设置了,还要在水晶报表里添加,如果不添加的话会出现未注册之类错误。
第二步 注册字段
打开水晶报表文件,选中参数字段,右击出现新建,如下图
然后修改名字
点击确定,这样算字段已经注册,现在可以使用了。
第三步 创建图片ole对象
在空白处,右击——>插入——>ole对象 如下图
然后选中画笔图片,再点击确定
出现一个空白方框
选中方框右击设置对象格式
出现下图
点击图片一栏
点击图形格式进去
输入花括号{} ,会出现如下图,
然后选中参数,双击 ,参数即被选中,然后点击左上角的保存并关闭
然后可以设置图片大小,再点击确定
然后点击保存即可。 运行项目,查看效果
不过这里要特别强调一下。运行网站的协议和图片链接协议必须一致,否则一直是空白显示,即达不到预期效果。这也是我今天遇到的问题。
比如你的网站是是http ,那么图片必须是http,不能是https.
水晶报表插入动态图片【图片链接,网络图片】全部过程分享完毕! 参考:www.cnblogs.com/babyt/archi…