我创建上有一个名为“RelativePath”字段数据源的本地报告。 当我的WinForms应用程序呈现的报告,它导出的文件在RelativePath字段中指定的位置。 在报表生成器,我设置导航|超连结行动|跳转到URL为“=领域RelativePath.Value!”该报告的EnableHyperlink属性设置为true。 每当我的应用程序呈现的报告,但是,超链接是不活跃。 如果我硬编码跳转到URL为绝对路径,但是,它工作得很好。 是否没有的ReportViewer呈现一个相对路径的超链接?
Answer 1:
我一直在苦苦挣扎后,我来到了的ReportViewer不与相对路径支持超链接的结论同样的问题。 为了解决这个问题是通过添加检索的相对路径,然后与你不妨是URL的一部分的字段值concantenate自定义代码 - ATLEAST为我的作品。
Shaddie
Answer 2:
我遇到了同样的问题。 要解决这个问题,我创建了一个名为“AbsolutePath”的报告参数。
转至.rdlc文件的设计视图。 在“报告数据”选项卡上,你会看到一个“参数”节点。 右键点击它来:
- 添加参数...
- 在常规选项卡,在Name属性中输入“AbsolutePath”。
- 点击“默认值”
- 选择“指定值”单选按钮。
- 添加新的价值“AbsolutePath”。
在你的文本框的动作表情,加上这样的事情= “JavaScript的:无效(window.open('”!+参数AbsolutePath.Value + “/yourpage.aspx?id=” +字段Id.Value +“ '' _blank “))”
你可以看到,新的“AbsolutPath”参数可添加到您的表达。
现在,你需要的值传递到报表的参数,则像这样。
string baseUrl = Request.Url.GetLeftPart(UriPartial.Authority);
var param = new ReportParameter("AbsolutePath", baseUrl);
this.ReportViewer.LocalReport.SetParameters(param);
Answer 3:
只需使用全局变量Globals!ReportServerUrl
表达式
= Globals!ReportServerUrl + "yourpath"
文章来源: Can ReportViewer render a hyperlink with a relative path?