Datapayasadas

septiembre 11, 2009

Parámetros Multivalor con Reporting Services 2005 y ASP.NET ReportViewer

Filed under: .Net, ASP.NET, C#, Reporting Services — Etiquetas: , , , — pabloide86 @ 3:21 pm

Buenasss como les va? Esta vez me trae por aquí este tema de los reportes. Resulta que me han pedido que haga un reporte donde pueda filtrar los valores a mostrar en el reporte pero desde el Report Viewer en una página Aspx…

Empecemos por el reporte. Supongamos que tenemos un reporte que debe mostrar un listado de proyectos y quiero elegir cuales mostrar y cuales no.

El reporte es bastante sencillo de hacer:

  • Crear un DataSource para conectarse a la base de datos
  • Crear un DataSet con una consulta que tenga la siguiente forma:
  • SELECT ID, Nombre, Descripcion FROM Proyectos WHERE ID IN(@IdProyectos)
    

    @IdProyectos es un parámetro del reporte que admite múltiples valores.

    Finalmente le damos el estilo visual al reporte, agregando una tabla con los campos del DataSet.

    Hasta aquí es bastante sencillo.

    Luego, en nuestra página ASPX agregamos un ListBox, un botón (para cargar el reporte) y el ReportViewer.

    Luego, para pasarle los valores al reporte:

    
    BindingList parametrosReporte = new BindingList();
    
    ReportParameter idProyectos = new ReportParameter("IdProyectos");
    
    for (int i = 0; i < listProyectos.Items.Count; i++)
    {
            idProyectos.Values.Add(listProyectos.Items[i].Value;
    }
    
    parametrosReporte.Add(idProyectos);
    

    Con esto creamos un parámetro de reporte y lo agregamos a la colección. Luego tenemos que asignar estos parámetros al ReportViewer que insertamos en la página. Para ello podemos usar el siguiente código:

    try
    {
            ReportViewer1.ServerReport.SetParameters(parametrosReporte);
    }
    catch
    {
            //Manejamos la excepción
    }
    

    Y listo. Espero que les sea de utilidad!!!

    Saludos

    Anuncios

    1 comentario »

    1. BUEN COMIENZO

      Comentario por online-maris — octubre 7, 2009 @ 9:21 am


    RSS feed for comments on this post. TrackBack URI

    Responder

    Introduce tus datos o haz clic en un icono para iniciar sesión:

    Logo de WordPress.com

    Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

    Imagen de Twitter

    Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

    Foto de Facebook

    Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

    Google+ photo

    Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

    Conectando a %s

    Blog de WordPress.com.

    A %d blogueros les gusta esto: