Crear un pop-up en RS y mostrar un report en el

Estos días he necesitado hacer algo que ya había hecho alguna que otra vez pero que no tenía por aquí en el blog. La idea es muy sencilla, tengo una tabla de la que se necesita mostrar información acerca del contenido en una ventana emergente para darle información extra al usuario, con la idea de aclarar que es y así nos evitamos llenar el report con información que una vez sabida ya no es necesaria mostrar cada vez que se ejecuta :).

Los pasos a seguir para renderizar un informe y mostrarlo en modo pop-up son los siguientes:

1er paso, construir la url
Construimos la url que debe de ser como la siguiente
http://nuestroServidor/reportserver?ruta&ParametrosRS.&ComandosRS

Para explicarlo o dividimos en 4 zonas y queda de la siguiente forma:

1. Http://nuestroServidor:Puerto/reportServer? Con esto indicamos que servidor y su puerto
(si por defecto está el 80 no hace falta ponerlo) donde está nuestro informe.

2. Ruta. Si la ruta es compleja, es decir, muchas carpetas o nombres largos con raros caracteres, lo ideal es copiarla tal como nos la url de reporting. Quitando en todo momento lo comentado en los puntos 1, 3 y 4.

3. Parametros. Los parámetros podremos agregarlos de la siguiente forma según tengamos en nuestro informe: &Parametro=Valor

Llegado a este punto si queremos pasar un valor aleatorio deberemos meter dicha setencia entre comillas dobles.

Ejemplos:

  • “&Parametro1=” & Fields!MiCampo.Value
  • “&Parametro1=” & Parameters!MiParametro.Value

4. ComandosRS. Existen algunos comandos con los que podremos jugar un poco más con lo que muestra Reporting, entre ellos quitar la cabecera, decirles si redenderizará en algún formato concreto, etc. Para ver como pueden ser empleados estos parámetros podéis leer la documentación de MS que lo explica muy clarito en la siguiente dirección: http://msdn.microsoft.com/es-es/library/ms152835.aspx

Con la url construida, lo siguiente que no estaría de más es probarla en el navegador antes de seguir, asi vamos solucionando problemas antes de tenerla construida.

Una vez comprabado que funciona y nos muestra el informe tal como lo mostraremos luego en pop-up, seguimos los pasos para consturir el javascript.

Para construir el javascript necesitaremos tener la siguiente setencia (en rojo lo opcional):
="javascript:void window.open(‘URL’
,’titlebar=yes,location=no,toolbar=0,height=400,width=670,location=no,left=440,top=187′)"

La url será la que hayamos creado como indicamos anteriormente y según lo que queramos mostrar (por ejemplo: con barra de parámetro, sin ella, si quieres que se más grande, que esté en tal posición, etc.)

Los parámetros que yo tengo puesto aquí son para mostrar la ventana de una forma en concreto al usuario.
Podéis buscar por internet windows.open y encontraréis bastante información, yo os dejo el link por el que seguí: http://www.javascript-coder.com/window-popup/javascript-window-open.phtml (buen gracias a Joaquín también por las aclaraciones)

Cuando ya tenemos todo montado, nos vamos a la caja de texto u objeto que permita la opción Action y en sus propiedades nos vamos a Go To URL donde meteremos
la url que hemos montado.

¡Ahora solo queda probarlo!

Espero que os sea de utilidad,

Un Saludo!

Sin categoría

5 thoughts on “Crear un pop-up en RS y mostrar un report en el

  1. Hola Fran buen día, excelente post me ayudo mucho, ya logre que funcionara el popup desde una pagina aspx, pero tengo una pregunta, sabes porque no se abre el popup desde el Report Viewer en una aplicación windows? es exactamente el mismo reporte así que problema de que este mal construido el link queda descartado.

  2. No logre que funcionara como esperaba, pero lo solucione con el evento Hiperlynk con el siguiente código:

    private void reportViewer1_Hyperlink(object sender, Microsoft.Reporting.WinForms.HyperlinkEventArgs e)
    {

    string url = “”;
    url = e.Hyperlink.Replace(“javascript:void(window.open(‘”, “”);
    url = url.Replace(“‘,’miventana’,’location=no,menubar=no,toolbar=no,resizable=yes,height=400,width=670,left=440,top=187′))”, “”);

    Process.Start(url);
    }

  3. Hola Fran,
    Sigo probando las características Action de los controles, pero lamentablemente sin éxito.
    Estoy trabajando con Rs2012 Express y el Generador de Informes 3.0.
    La Fx en Action es la siguiente:
    =”BLOCKED SCRIPTvoid window.open(‘http://SERVER/RS?/LGP.Reportes/rpt_Reportes&idCliente=234′,’titlebar=yes,location=no,toolbar=0,height=400,width=670,location=no,left=440,top=187’)”

    Probé la URL individualmente y funciona.
    Pero al colocarlo en el reporte, no me abre una ventana pop-up, sino que abre una ventana nueva. Es decir, que se comporta como si hiciera un Action que se dirija a otro reporte (Go to Report).

    Me podrías ayudar?
    Muchas Gracias.
    Saludos,
    Ignacio

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *