如何在Microsoft报表中显示来自字节数组的图像

Rac*_*hel 7 c# image bytearray report picturebox

我正在使用Report文件和ReportViewer控件来显示一个报告,该报告在运行时从对象动态加载数据.

我需要显示一个图像,该图像作为字节数组存储在对象中.

PictureBox的值当前设置为:

=First(Fields!ImageData.Value, "dtstItemImage")
Run Code Online (Sandbox Code Playgroud)

我使用以下方法设置DataSource:

ImageBindingSource.DataSource = this.item.Image.ImageData;
Run Code Online (Sandbox Code Playgroud)

代码编译并运行,但图像不会显示在报告中.

这是因为PictureBox需要绑定到Image对象(而不是字节数组)吗?或者是否需要设置PictureBox的某些属性?

更新1

我已经为PictureBox添加了一个边框,只是为了确保它是可见的,它确实显示在报告中.它只是不包含图像.

更新2

我在我的代码中修正了一个错误.我改变了:

ImageBindingSource.DataSource = this.item.Image.ImageData;
Run Code Online (Sandbox Code Playgroud)

至:

ImageBindingSource.DataSource = this.item.Image;
Run Code Online (Sandbox Code Playgroud)

因为PictureBox绑定到ImageData字段但是DataSource是Image对象.

现在我得到一个小的十字图标而不是什么(至少对我来说)表示一些进展,但我不知道字节[] - 位图转换代码需要在哪里.

Rac*_*hel 5

我设法通过将报告的图像框Source属性设置为Database(之前设置为External)来解决此问题。

有关不同可用 Source 值的更多信息可以在(MSDN) HowTo: Add an Image (Reporting Services) 中找到