//Construye reporte desde fuente de datos protected void ConstruirReporte() { string rutaReporte = "~/Reportes/ReporteGoleadores.rdlc"; string rutaServidor = Server.MapPath(rutaReporte); if (!File.Exists(rutaServidor)) { Utilidades.CreateMessageandRedirect(ClientScript, GetType(), "El reporte no existe.", "frmPrincipal"); return; } else { rpvGoleadores.LocalReport.ReportPath = rutaServidor; var infoFuenteDatos = this.rpvGoleadores.LocalReport.GetDataSourceNames(); rpvGoleadores.LocalReport.DataSources.Clear(); var datosReporte = modelo.pa_retorna_goleadores(Int32.Parse(ddlCampeonatos.SelectedValue)).ToList(); if (!String.IsNullOrEmpty(ddlEquipo.SelectedValue)) { datosReporte = datosReporte.Where(x => x.equipo.Equals(ddlEquipo.SelectedValue)).ToList(); } ReportDataSource dataSource = new ReportDataSource(); dataSource.Name = infoFuenteDatos[0]; dataSource.Value = datosReporte; rpvGoleadores.LocalReport.DataSources.Add(dataSource); rpvGoleadores.LocalReport.Refresh(); } }