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:
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();</code>
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
BUEN COMIENZO
Comment por online-maris — Octubre 7, 2009 @ 9:21 am