Pregunta

He creado un informe local en una fuente de datos que tiene un campo llamado " RelativePath " ;. Cuando mi aplicación WinForms presenta el informe, exporta archivos a la ubicación especificada en el campo RelativePath. En el generador de informes, configuro Navegación | Acción de hipervínculo | Saltar a URL a " = Fields! RelativePath.Value " y establezca la propiedad EnableHyperlink del informe en true. Sin embargo, siempre que mi aplicación presenta el informe, el hipervínculo no está activo. Sin embargo, si codifico por error el Salto a la URL a una ruta absoluta, funciona bien. ¿El ReportViewer no genera un hipervínculo con una ruta relativa?

¿Fue útil?

Solución

He estado luchando con el mismo problema, después de lo cual llegué a la conclusión de que el visor de informes no admite hipervínculos con la ruta relativa. Para resolver este problema, agregue un código personalizado que recupere la ruta de acceso relativa, luego concéntrese con los valores de los campos que desee que formen parte de la URL, al menos que funcione para mí.

Shaddie

Otros consejos

Encontré el mismo problema. Para solucionar este problema, creé un parámetro de informe llamado " AbsolutePath " ;.

Vaya a la vista de diseño del archivo .rdlc. En la sección " Datos de informe " pestaña, verás un " Parámetros " nodo. Haz clic derecho para:

  1. Agregar parámetro ...
  2. En la pestaña General, ingresa " AbsolutePath " en la propiedad Nombre.
  3. Haz clic en " Valores predeterminados "
  4. Seleccione la opción " Especificar valores " botón de radio.
  5. Agregar nuevo valor " AbsolutePath " ;.

En la expresión de acción de tu TextBox, agrega algo como esto = " javascript: void (window.open ('" + Parámetros! AbsolutePath.Value + " /yourpage.aspx? id = " + Fields! Id.Value + " ',' _blank ')) "

Puede ver que el nuevo " AbsolutPath " El parámetro está disponible para agregar a su expresión.

Ahora, deberás pasar el valor al parámetro del informe, como tal.

    string baseUrl = Request.Url.GetLeftPart(UriPartial.Authority);
    var param = new ReportParameter("AbsolutePath", baseUrl);
    this.ReportViewer.LocalReport.SetParameters(param);

Simplemente use la variable global Globals! ReportServerUrl en la expresión

= Globals!ReportServerUrl + "yourpath"
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top