Normalmente cuando quieres utilizar el texto que se muestra al usuario para un parámetro, en vez del valor, utilizas la propiedad params[“parameterName”].displayText en un “dynamic text” en tu reporte. Si intentas hacer esto con un parámetro que permite la selección de múltiples valores, sólo obtendrás un valor nulo o en blanco. La opción es que utilices un script en el método onFetch del DataSet para reemplazar los valores del parámetro con los valores del campo que utilizas para mostrarlo al usuario.

Necesitas declarar una variable en el método “initialize” del reporte que contendrá las claves de los valores seleccionados, separados por una coma.

parameterSelectedValues=params["parameterName"].value.join(",");

 

después reemplazamos las claves en el método “onFetch” del DataSet

if(parameterSelectedValues.indexOf(row["id"].toString()) != null){
    parameterSelectedValues=parameterSelectedValues.replace(row["id"].toString(),row["name"].toString());
} 

 

y finalmente colocar un DynamicText en tu reporte con el valor

parameterSelectedValues;

 

El ejemplo completo lo encuentras aquí.

 

Anuncios

En el título de un reporte necesitaba poner el valor de un párametro, el detalle es que el párametro está enlazado a un DataSet, por lo tanto tiene un value y un displayText. En mi caso es un listado de oficinas, cada una tiene su clave y su nombre, p. ej. BIBL – BIBLIOTECA
Si pongo un DynamicText en el encabezado con el valor
params[“OFICINA”].displayText //despliega BIBLIOTECA
pero únicamente cuando genero el reporte desde Eclipse o en el Report Viewer con la operación “frameset”.
En mi aplicación tengo un botón para imprimir el reporte, que únicamente abre el enlace

http://jboss.midominio.com:8080/ReportViewer/run?__format=pdf&__report=rptInformeMensual.rptdesign&OFICINA=BIBL

para generar el reporte en un documento PDF.
El problema es que en el título, en vez de mostrar “BIBLIOTECA” me aparece el texto “NULL”.
Cómo de todos modos tengo el título de la oficina seleccionada en mi aplicación, decidí enviarla como un parámetro extra y así no tuve ningún problema.
La URL finalmente quedó así
http://jboss.midominio.com:8080/ReportViewer/run?__format=pdf&__report=rptInformeMensual.rptdesign&OFICINA=BIBL&TITULO=BIBLIOTECA
y mi DynamicText del encabezado
params[“TITULO”];

Si tu parámetro es de selección multiple (multi-select) tal vez te interesa ver esto.