- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我通过嵌入在 MVC 应用程序中的 aspx 页面使用 Microsoft.ReportViewer.WebForms
版本 11。报表直接从报表查看器呈现为 PDF。
问题
我有一个显示外部图像的 tablix。如果图像的 URL 是根据表达式计算的或根据数据库中的列设置的,则图像不会显示。只有当我直接在报告中对 URL 进行硬编码时,图像才会显示。显然这不是解决方案,但它表明报表能够访问 URL 并呈现图像。
我从呈现报告中得到这些警告:
The ImageData for the image ‘LinkedImage’ is invalid. Details: Invalid URI: The format of the URI could not be determined.
The value of the ImageData property for the image ‘LinkedImage’ is “”, which is not a valid ImageData.
我尝试过的
我仔细检查了生成的 URL,它是正确的。我什至将点击操作设为图像的超链接,它会正确转到图像。
最初我在表达式中连接 URL,但在这不起作用之后我让 SQL 查询构建了整个 URL。它仍然没有显示。
我试过设置一个标志:
reportViewer.LocalReport.EnableExternalImages = true;
使用 .NET Reflector 生成 PDB 文件,我能够单步执行报表查看器的代码。值对象上有一个名为“IsExpression”的标志,当报告呈现时它被设置为 false。我不太了解报告查看器的内部工作原理,所以我不知道这是否是一个转移注意力的问题。
我已将输出格式更改为 HTML,但它仍然不显示。图像标记(如 Chrome 开发者工具中所示)呈现为:
<img onload="this.fitproportional=true;this.pv=0;this.ph=0;" height="5px" width="1px" src=(unknown)>
我已尝试将每个图像的 MIMEType 值设置为正确的值。 (感谢 Mike Honey 的建议)
我尝试了 AutoSize、Fit、FitProportional 和 的不同Sizing 值em>剪辑。
我使用此处的安装程序完全修复并重新安装了 ReportViewer 运行时安装:https://www.microsoft.com/en-gb/download/details.aspx?id=35747
我已从我的本地 Visual Studio 实例运行该网站,并在另一台服务器上的网站中部署了一个版本(相同安装的 ReportViewer 版本),但问题仍然存在。
我想提请注意第 4 点。是否存在导致 ReportViewer 代码无法将值视为表达式的配置?
代码
这是 RDL 中的标记:
<Image Name="LinkedImage">
<Source>External</Source>
<Value>=Fields!imageUrl.Value</Value>
<Sizing>FitProportional</Sizing>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Image>
这是一个示例 URL(从示例中删除了主机):
http://---------/images/FEE40608-0457-E511-A17F-00155D145C00/FFE40608-0457-E511-A17F-00155D145C00.jpg
我错过了什么吗?谢谢!
最佳答案
我终于弄明白了。这个问题原来是由定制的 ReportProcessor
类引起的,该类已添加到 MVC 应用程序中,该应用程序甚至在渲染发生之前就对 RDL 进行了操作。具体来说,它从 RDL 中图像节点的值节点中删除 =
字符。我没有想到报告没有以其原始状态进入渲染阶段。我会用我花费的声望来付出代价!
这个问题对于引入不同的 ReportProcessor 以这种方式操作 RDL 的人来说是独一无二的,所以我不知道它对在 SO 上发现这个问题的人有多大用处。我会把它留在这里,因为它可以用作要检查的事项列表。
抱歉浪费了大家的时间。感谢 Mike-Honey、user1429080 和 AndrewE 付出的时间和精力。
关于c# - 当表达式设置值时不显示 SSRS 外部图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56288884/
我有一个大型 SSRS 2008 服务器报告项目(超过 200 个报告)。目前我公司的策略已经改变,我们希望将这些服务器报告转换为客户端报告。 所有服务器报告都使用存储过程(或在某些情况下来自 SQL
我有一个 SSRS 2008 R2 报告,它在表格中使用了这个表达式: =Lookup(Fields!DataSet1Date.Value, Fields!DataSet2Date.Value, Fi
我在 SSRS 报告上有一个 tablix,它从存储过程中获取数据。 当没有数据存在时,我试图向用户显示一条消息,例如“**此报告没有数据* ”。我可以通过在 **NoRowsMessage 中指定此
我试图让这个专栏聊天的标 checkout 现在专栏基地,就像下面的第二张图片一样。然而,该解决方案并不完全有效,因为它歪曲了其余信息。 有没有人知道实现这一目标的适当方法,这不是直截了当的,这很令人
如何获取 SSRS 报告以显示网页 View ? 当我转到 SSRS 报告页面时,它没有显示网页 View 。它显示了数据源、数据集和报告文件夹的列表。 进入报告文件夹后,我可以通过单击它们来调用报告
我正在寻找一种方法来从我的 SSRS 报告中获取版本信息。我有几个环境,希望能够比较在这些环境中部署了哪个报告版本。在 SSIS 中,这非常容易,因为每个 SSIS 包在修改和保护后都会获得一个新版本
我有一个作为 SSRS 报告后端运行的存储过程(它对值进行透视和反透视)。用户提供 2 个输入(BeginRange 和 EndRange)。 结果会根据用户输入而变化,因此我也需要在报告中反射(re
我一直在网上寻找一种在 SSRS (2008 R2) 中完全组合数据集的方法。 基本上,我需要创建一个由多个不同数据集(都具有如下相同的列)组成的表和图,这些数据集是从多个 sql 服务器检索的(防止
我有一份包含多个数据集的报告。不同数据集中的不同字段用于报告的不同位置。 在报告的一部分中,我需要使用两个不同数据集中的字段进行计算。这在表达式中可能吗? 我可以以某种方式在表达式中引用该字段所在的数
我在 Business Intelligence Studio 2008 中内置了一个 RDL 报告,但遇到了不需要的分页符问题。 我有一个数据集,其中包含一个带有一些汇总数据的单表。我已经添加了一个
解决方案 SSRS - How to build a simple multi-column report? 表示报表属性下有一个布局选项卡。我已经用谷歌搜索了这个主题,并且在多个地方都提到了相同的菜
我在 Sql Server Reporting Services (SSRS) 2008 R2 中运行报表时遇到问题。 在设置站点、创建一些用户并上传一些报告之后,我选择了一个要运行的报告,输入我的参
我有一个包含多个行组的矩阵的 SSRS (2008 R2) 报告。我需要扩展所有其他组,同时只有一个切换项。我隐藏所有必要的组,并在我需要的文本框中设置切换项。它在 VisualStudio 中运行良
我在 SSRS 中有报告,我可以使用以下表达式交替行颜色: =IIF(ROWNUMBER(NOTHING) MOD 2, "LightSteelBlue","WhiteSmoke") 这很好用。但是,
啊啊! 受不了,我自己也想不通...... 我在报告中的数字格式中使用了它: '€' #,0.00;('€' #,0.00) 格式为 € 1,212.89 这不完全是我想要的,因为我想要 € 1.21
我有一个简单的 SSRS 报告,显示一个表中的数据。我想要做的是在下拉列表中显示与该表不同的列表,供用户选择。如果我只使用一个数据集,我可以让它显示,但它会多次显示该列中的值。 示例 Bob Bob
SSRS 2008 已经运行了很长时间。 我们已经在同一台服务器上安装了 SSRS 2012,它似乎有点破坏了 SSRS 2008 共享点模式。 所有 .rdl 和 .rsds 文件不再与服务器“关联
我们正在从 Crystal Reports 迁移我们的报告至 SSRS .在 Crystal 报表中,我们使用 变量 至 动态 生成我们的文件名,以便当报告通过电子邮件发送时,文件具有报告名称和执行日
我想将一些文本加粗并加下划线,如果我的数据库中的字段值为“HD” 我的意思是,我在数据库中有两个文件。文本 1 和标题。我在报告中显示 Text1,如果 Header 的值为“HD”,则 Text1
我正在使用 BIDS 和 SQL Server Reporting Services (SSRS) 2008 R2 来构建报告。我希望每个类别都显示为单独的表格/网格。 重要提示:列(CELERY、E
我是一名优秀的程序员,十分优秀!