winforms 的 .rdlc 数据报告中的外部图像

Posted

技术标签:

【中文标题】winforms 的 .rdlc 数据报告中的外部图像【英文标题】:External images in .rdlc data reports for winforms 【发布时间】:2010-01-15 09:00:06 【问题描述】:

我在 Google 上搜索了几天以在 .rdlc 数据报告中显示图像,但仍未找到解决方案。 我已设置: reportViewer1.LocalReport.EnableExternalImages = true; 图像属性为“外部”,并将参数值设置为值属性。

 ReportParameter Path;
        Path = new ReportParameter("Path", "C:\\Test\\579569.png");
        this.reportViewer1.LocalReport.SetParameters(new ReportParameter[]  Path );  

但我仍然得到一个损坏的图像。有什么我遗漏的吗?我正在 WinForms 中尝试这个。 我知道这个问题是别人问的..但我没有得到我想要的结果。

提前致谢

【问题讨论】:

【参考方案1】:

@Praveen 是对的。我用Server.MapPath获取图片的物理路径:

"file:///" + Server.MapPath("~/images/nokia.jpg")

然后我也设置了reportViewer1.LocalReport.EnableExternalImages = true;

【讨论】:

【参考方案2】:

图片网址必须使用file:////F:\111\333.JPG格式

【讨论】:

【参考方案3】:

您在 RDLC 中的路径必须是 URI,然后您传递给 ReportParameter 的字符串是 AbsolutePath(在您的情况下为 file:///C:/Test/579569.png

    Dim filepath As Uri
    filepath = New Uri("C:\Test\579569.png")

    Dim Path As ReportParameter
    Path = New ReportParameter("Path", filepath.AbsolutePath)

    Me.reportViewer1.LocalReport.SetParameters(New ReportParameter() Path)

请原谅 VB.Net 代码,但你明白了。

【讨论】:

实际上,您应该使用 filepath.Abs​​oluteUri 而不是 filepath.Abs​​olutePath(至少对于最新的报告查看器)【参考方案4】:

您是否尝试在 rdlc 文件中将 MIME Type 属性设置为 ImageControl?

【讨论】:

【参考方案5】:

首先,您在加载事件的项目中采用一个新表单,您在下面写下这一行:

reportViewer1.LocalReport.EnableExternalImages = true;

之后在该页面上获取reportViewer并设置智能标签,选择设计新报表并从工具箱中获取图像控件,设置其属性

来源 = 外部

值 = 文件:\D:Images\Sunset.jpg

注意: Image(Sunset.jpg) 保存在 D 盘的 Images 文件夹中。你根据自己的要求改了。

【讨论】:

以上是关于winforms 的 .rdlc 数据报告中的外部图像的主要内容,如果未能解决你的问题,请参考以下文章

报告 rdlc 中的外部图像

在 C# winforms 中将 RDLC 报告适合 A4 页面

使用 RDLC 的报告无法加载数据集

在 Visual Studio 2010 的 vb.net 中创建钻取 rdlc 报告

如何在 Windows 窗体应用程序的 rdlc 报告中显示数据库中的图像

VB.NET - 打印 RDLC 报告而不显示 ReportViewer 控件