How to show images on an RDLC report

此生再无相见时 提交于 2019-12-04 19:06:11

问题


I have an RDLC report and would like one of the columns in a table on this report to display images. The datasource for my report is a class that has a property called Image of type System.Drawing.Image.

On my report I dragged an image control onto the column and I set the following properties:

MIMEType:  image/png
Source:  Database
Value:  =Fields!Image.Value

When I run my report, I get a broken image.

I'd really appreciate any suggestions!

Thanks in advance :o)


回答1:


I don't know if this is the best solution, but I got it to work. It looks like the problem was in using System.Drawing.Image.

In my class, I created a new property called ImageByte of type byte[]. I didn't make a setter for ImageByte, but I made a getter that does the following:

MemoryStream ms = new MemoryStream();
Image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
return ms.ToArray();

I updated my report to have =Fields!ImageByte.Value for the Value and now everything appears to be working as expected :o)




回答2:


Firstly, you take a new Form in your project on Load event you Wright this line below:

reportViewer1.LocalReport.EnableExternalImages = true; 

After that take reportViewer on that page and set smart tag of that, choose Design a new report and take an image control on it from ToolBox, set its property

Source = External Value = file:\D:Images\Sunset.jpg 

Note: Image(Sunset.jpg) saved in Images folder on D drive. You changed it according to your requirement.



来源:https://stackoverflow.com/questions/570747/how-to-show-images-on-an-rdlc-report

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!