报表查看器中没有显示图像,但在设计模式下链接可以打开

3
我想尝试将本地磁盘中的任何图像添加到报表查看器中,但没有成功。
首先,我将图像控件拖到报表上,将值属性设置为各种路径。例如:="file://C:/Desert.jpg"="file:\\\C:\Desert.jpg"等。
在设计模式下,我使用Ctrl + Click单击链接,Visual Studio可以找到该图像。
当我运行该项目时,在显示带有图像的表单上会出现x错误。
如果我尝试将值设置为位于本地服务器上的http链接,则图像将正确显示。 我已将EnableExternalImages属性设置为true。
提前致谢!
2个回答

1

我认为你需要将图片嵌入到你的报告中

要做到这一点,你需要:

  1. 在你的RDLC中添加一个图像控件
  2. 确保图像源设置为嵌入式
  3. 点击导入并浏览到你的图片

此时,你应该在预览中看到图片。为了更加安全,在设计中点击图片框,在属性框中搜索MIMEType并选择image/jpg

现在尝试渲染你的报告。(如果你想按照这种方式操作,可以参考this blog post

如果您需要使用不同的徽标创建相同的报告,则此解决方案显然不适用:我找到了这篇博客,其中解释了如何创建一个ReportParameter来存储动态路径以获取徽标(第4.段)

还有另一个示例可用于外部图像。请注意,他使用file:///(三个斜杠)


谢谢,我尝试了一下,它可以工作,但是我必须动态加载保存在数据库中的路径! - Nicolas Michels
只需按照我帖子中提到的第二个链接!那个里面提到了 ReportParameter - Gianni B.

0

我认为图像源需要相对于报表。

请参见:源元素(RDL)

值包含一个常量或一个表达式,该表达式计算为报表服务器上图像的相对路径。

尝试将图像放置在可执行文件的同一文件夹中,并仅在源属性中放置图像的文件名。

编辑:为了澄清,将Source设置为“External”,将Value设置为“Desert.jpg”。


我尝试了你的解决方案,但它没有起作用。我正在使用Visual Studio(C#)上的RDLC报告工作。 - Nicolas Michels
为了说明发生了什么,我已经拍摄了2个截图:设计模式下正常:http://imageshack.us/f/837/designmode.jpg/ 以及运行项目:http://imageshack.us/photo/my-images/254/runningproject.jpg/ - Nicolas Michels
我和你一样使用RDL报告,并且通过将这些文件放在可执行文件的同一文件夹中并将名称放入值中来引用它们(如我在答案中发布的)。您的屏幕截图仍然显示您正在使用文件URL。将图像副本放置在Bin / Debug文件夹中,然后只需使用文件名即可。 - Codesleuth
@Codesleuth 如果你这样做,会限制报告的可移植性和重用性。你必须始终将图像放在可执行文件的同一文件夹中,并且无法将报告重复使用于多个公司(当然,如果图像是公司的标志)。 - Gianni B.
最终结果将是通过报告参数引用它 - 我并不建议像这样离开它,更像是先找到问题的根本原因。 - Codesleuth
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接