我有一份 RDLC 报告,并希望此报告的表格中的一列显示图像。我的报告的数据源是一个类,它有一个名为 Image 的类型的属性System.Drawing.Image
。
在我的报告中,我将图像控件拖到列上,并设置了以下属性:
MIMEType: image/png
Source: Database
Value: =Fields!Image.Value
当我运行我的报告时,我得到一个损坏的图像。
我真的很感激任何建议!
在此先感谢 :o)
我有一份 RDLC 报告,并希望此报告的表格中的一列显示图像。我的报告的数据源是一个类,它有一个名为 Image 的类型的属性System.Drawing.Image
。
在我的报告中,我将图像控件拖到列上,并设置了以下属性:
MIMEType: image/png
Source: Database
Value: =Fields!Image.Value
当我运行我的报告时,我得到一个损坏的图像。
我真的很感激任何建议!
在此先感谢 :o)
我不知道这是否是最好的解决方案,但我得到了它的工作。看起来问题出在使用 System.Drawing.Image 上。
在我的课堂上,我创建了一个名为 ImageByte 的新属性,类型为 byte[]。我没有为 ImageByte 制作 setter,但我制作了一个执行以下操作的 getter:
MemoryStream ms = new MemoryStream();
Image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
return ms.ToArray();
我更新了我的报告以将 =Fields!ImageByte.Value 作为值,现在一切似乎都按预期工作:o)
首先,您在 Load 事件的项目中采用一个新表单,您在下面写下这一行:
reportViewer1.LocalReport.EnableExternalImages = true;
之后在该页面上获取reportViewer并设置智能标记,选择设计新报表并从工具箱中获取图像控件,设置其属性
Source = External Value = file:\D:Images\Sunset.jpg
注意:图片(Sunset.jpg)保存在 D 盘的 Images 文件夹中。您根据您的要求更改了它。