Может ли ReportViewer отображать гиперссылку с относительным путем? - PullRequest
0 голосов
/ 31 декабря 2008

Я создал локальный отчет для источника данных, который имеет поле с именем «RelativePath». Когда мое приложение WinForms отображает отчет, оно экспортирует файлы в местоположение, указанное в поле RelativePath. В построителе отчетов я установил для Navigation | Hyperlink action | Jump to URL значение «= Fields! RelativePath.Value» и установил для свойства EnableHyperlink отчета значение true. Однако всякий раз, когда мое приложение отображает отчет, гиперссылка не активна. Однако, если я жестко закодировал переход к URL-адресу по абсолютному пути, он работает просто отлично. Разве ReportViewer не отображает гиперссылку с относительным путем?

Ответы [ 3 ]

1 голос
/ 11 июля 2013

Я столкнулся с той же проблемой. Чтобы обойти это, я создал параметр отчета под названием «AbsolutePath».

Перейти к представлению конструктора файла .rdlc. На вкладке «Данные отчета» вы увидите узел «Параметры». Щелкните правой кнопкой мыши, чтобы:

  1. Добавить параметр ...
  2. На вкладке «Общие» введите «AbsolutePath» в свойстве «Имя».
  3. Нажмите «Значения по умолчанию»
  4. Установите переключатель «Указать значения».
  5. Добавить новое значение "AbsolutePath".

В выражении действия вашего TextBox добавьте что-то вроде этого = "javascript: void (window.open ('" + Параметры! AbsolutePath.Value + "/yourpage.aspx?id=" + Fields!) Id.Value + "',' _blank '))"

Вы можете видеть, что новый параметр "AbsolutPath" доступен для добавления в ваше выражение.

Теперь вам нужно передать значение в параметр отчета, вот так.

    string baseUrl = Request.Url.GetLeftPart(UriPartial.Authority);
    var param = new ReportParameter("AbsolutePath", baseUrl);
    this.ReportViewer.LocalReport.SetParameters(param);
1 голос
/ 07 января 2009

Я боролся с той же проблемой, после которой я пришел к выводу, что средство просмотра отчетов не поддерживает гиперссылки с относительным путем. Решить эту проблему можно, добавив пользовательский код, который получает относительный путь, а затем сопоставляет его со значениями полей, которые вы, возможно, пожелаете включить в URL - по крайней мере, для меня.

Shaddie

0 голосов
/ 15 октября 2014

Просто используйте глобальную переменную Globals!ReportServerUrl в выражении

= Globals!ReportServerUrl + "yourpath"
...