专业财税服务推荐

精选优质财税服务,为企业提供专业、可靠的财税解决方案,助力企业健康发展

零报税代理记账
零申报代理记账
报税做账算帐财务报表老会计做账
代理记账
咨询微信:lhy_happyday
工商营业执照年度年报年检公示
全国个体、企业、公司、合作社工商年审年报服务!
个体/10元/次 企业/20元/次
咨询微信:lhy_happyday
财税咨询服务
一对一专业财税咨询,解决企业财税难题,提供定制方案
咨询微信:lhy_happyday
财务分析服务
小规模个体报税0申报税务年报工商年报月报季报报税代理记账
咨询微信:lhy_happyday
立即咨询专业财税顾问
微信号: lhy_happyday
会计从业9年,管理多家个体工商、小规模、一般纳税人等企业的财务、税务等相关工作!。
扫码或搜索添加微信,备注"财税咨询"获取专属优惠
知方号 知方号

报表ReportViewer显示图片 数据报表图片手机拍照

报表ReportViewer显示图片

您可以将图像用作表体或矩形、文本框、列表、矩阵或表的背景图像。背景图像与图像具有相同的属性。您还可以指定如何重复图像来填充项的背景。

注意

某些呈现扩展插件(例如,HTML 呈现扩展插件)可以在表体、页眉和页脚中呈现表体的背景图像。可以为页眉和页脚定义单独的背景图像,但如果没有定义图像,报表将使用表体的背景图像。其他呈现扩展插件(例如,图像呈现扩展插件)在页眉和页脚中不呈现表体背景图像。

 

若要添加背景图像,请执行以下操作:

在图形设计模式下打开客户端报表定义 (.rdlc) 文件。

选择要为其添加背景图像的报表项。

注意

背景图像仅适用于矩形、文本框、表、矩阵、列表或表体等项。

 

在“属性”窗口中,展开 BackgroundImage,然后执行以下操作:

对于 Source,选择 External、Embedded 或 Database。

注意

若要使用项目中的图像,请选择 External。

 

对于 Value,键入或选择一个计算结果为图像来源的表达式。

如果 Source 属性设置为 External,则表达式的计算结果必须是图像的有效路径。此路径可以是驻留在报表服务器上的图像的静态路径,也可以是基于某个字段的路径。如果图像存储在项目中,则键入该图像在项目中显示的名称。

如果 Source 属性设置为 Embedded,则表达式的计算结果必须是嵌入到报表中的图像的名称。如果 Source 属性设置为 Database,则表达式的计算结果必须是包含二进制图像数据的字段。

对于 MIMEType,为图像选择适当的 MIME 类型。

注意

只有将 Source 属性设置为 Database 时,MIMEType 才适用。如果 Source 属性设置为 External 或 Embedded,则忽略 MIMEType 的值。

 

对于 BackgroundRepeat,选择 Repeat、NoRepeat、RepeatX 或 RepeatY。

 

 

看完之后,我们就继续来说我之前提到得问题, 首先我把生成的条码图像转化为二进制字节数组,方法如下:

private byte[] BitmapToBytes(Bitmap Bitmap)     {         MemoryStream ms = null;         try         {             ms = new MemoryStream();             Bitmap.Save(ms, ImageFormat.Gif);             byte[] byteImage = new Byte[ms.Length];             byteImage = ms.ToArray();             return byteImage;         }         catch (ArgumentNullException ex)         {             throw ex;         }         finally         {             ms.Close();         }     }

 

然后把得到这个二进制字节数组要转码成 Base64 类型的字符串。转化后放入到报表的数据集中。代码如下:

            bytes[] imgBytes = BitmapToBytes(bmp);

            DataTable dt = new DSHgz.DT_HgzDataTable();  //自定义的数据集             DataRow dtRow  = dt.NewRow();             dtRow["ProID"] = "BD11-12/800-16D";             dtRow["barCode"] = Convert.ToBase64String(imgBytes);  //存放前先转码。关键之处。             dtRow["date"] = "2009年06月26日";             dt.Rows.Add(dtRow);

在表报rdlc中。在报表主体中拖放一个image控件。设置其Source为database,value=System.Convert.FromBase64String(Fields!barCode.Value) // 关键之处。

然后设置MIMEType 属性。这样,你的图片就可以动态的显示到报表中了。

 

在MSDN中还介绍了一个方法,它所说的是图片存放在Access数据库中的。我尝试了一下,没有成功。不知道为什么,用我的方法是绝对没有问题的。大家可以参考下madn上所说的

http://msdn.microsoft.com/zh-cn/library/ms156482(SQL.90).aspx

http://msdn.microsoft.com/zh-cn/library/ms156342(SQL.90).aspx

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。