可以呈现的ReportViewer使用相对路径的超链接?(Can ReportViewer rend

2019-10-29 13:27发布

我创建上有一个名为“RelativePath”字段数据源的本地报告。 当我的WinForms应用程序呈现的报告,它导出的文件在RelativePath字段中指定的位置。 在报表生成器,我设置导航|超连结行动|跳转到URL为“=领域RelativePath.Value!”该报告的EnableHyperlink属性设置为true。 每当我的应用程序呈现的报告,但是,超链接是不活跃。 如果我硬编码跳转到URL为绝对路径,但是,它工作得很好。 是否没有的ReportViewer呈现一个相对路径的超链接?

Answer 1:

我一直在苦苦挣扎后,我来到了的ReportViewer不与相对路径支持超链接的结论同样的问题。 为了解决这个问题是通过添加检索的相对路径,然后与你不妨是URL的一部分的字段值concantenate自定义代码 - ATLEAST为我的作品。

Shaddie



Answer 2:

我遇到了同样的问题。 要解决这个问题,我创建了一个名为“AbsolutePath”的报告参数。

转至.rdlc文件的设计视图。 在“报告数据”选项卡上,你会看到一个“参数”节点。 右键点击它来:

  1. 添加参数...
  2. 在常规选项卡,在Name属性中输入“AbsolutePath”。
  3. 点击“默认值”
  4. 选择“指定值”单选按钮。
  5. 添加新的价值“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?