Principales respuestas
ReportViewer desde SP

Pregunta
-
Hola, tengo un inconveniente a la hora de llenar un ReportViewer con un reporte que saca los datos desde un SP de SQL.
Tengo creado el reporte (rpPedidos.rdlc), un data set (dsPedidos) con un TableAdapter y mapeado el SP (sp_reporte_pedidos). Dicho SP recibe dos parámetros de tipo datetime. El SP devuelve los datos sin problemas, en el Fill del TableAdapter carga el DataTable, pero cuando cargo el DataSource del ReportViewer me devuelve un error indicando que no existe fuente de datos para 'Pedido'.
Este es el código con el cual estoy intentando cargar el ReportViewer:protected void generarReporte() { try { PPS_BackOffice.dsPedidosTableAdapters.sp_reporte_pedidosTableAdapter ta = new PPS_BackOffice.dsPedidosTableAdapters.sp_reporte_pedidosTableAdapter(); dsPedidos.sp_reporte_pedidosDataTable dtPedidos = new dsPedidos.sp_reporte_pedidosDataTable(); ta.Fill(dtPedidos,calInicio.SelectedDate,calFin.SelectedDate); Microsoft.Reporting.WebForms.ReportDataSource data = new Microsoft.Reporting.WebForms.ReportDataSource("sp_reporte_pedidos", dtPedidos); rpPedidos.LocalReport.DataSources.Add(data); rpPedidos.LocalReport.ReportPath = "Reportes/rpPedidos.rdlc"; rpPedidos.LocalReport.Refresh(); } catch (Exception) { throw; } }
En el aspx de la página tengo esto:
<table> <tr> <td> <asp:Label ID="lblFechaInicio" runat="server" Text="Fecha inicio" /> <asp:Calendar ID="calInicio" runat="server" ForeColor="White" /> </td> <td> <asp:Label ID="lblFechaFin" runat="server" Text="Fecha fin" /> <asp:Calendar ID="calFin" runat="server" ForeColor="White"/> </td> <td> <asp:Button ID="btnGenerar" runat="server" Text="Generar" onclick="btnGenerar_Click" /> </td> </tr> <tr> <td colspan="3"> <rsweb:ReportViewer ID="rpPedidos" runat="server" Font-Names="Verdana" Font-Size="8pt" Height="400px" Width="400px"> </rsweb:ReportViewer> </td> </tr> </table>
Si alguien me da una mano estaría muy agradecido.
Respuestas
-
Tiene pinta de que dentro de la definición del informe, además del dataset "sp_reporte_pedidos", se utiliza también un dataset al que has llamado "Pedido". Como únicamente suministras datos para el "sp_reporte_pedidos", pues se queja de que no tiene información para el "Pedido". Revisa la definición del informe, a ver por qué está pidiendo "Pedido". Si no lo encuentras a simple vista desde el editor de informes en Visual Studio, abre el .rdlc con un editor de texto y busca en todo el XML la palabra "Pedido".
- Propuesto como respuesta Alberto López Grande (qwalgrande)Moderator jueves, 21 de julio de 2011 21:34
- Marcado como respuesta Alberto PoblacionMVP, Moderator sábado, 3 de diciembre de 2011 18:33
Todas las respuestas
-
Tiene pinta de que dentro de la definición del informe, además del dataset "sp_reporte_pedidos", se utiliza también un dataset al que has llamado "Pedido". Como únicamente suministras datos para el "sp_reporte_pedidos", pues se queja de que no tiene información para el "Pedido". Revisa la definición del informe, a ver por qué está pidiendo "Pedido". Si no lo encuentras a simple vista desde el editor de informes en Visual Studio, abre el .rdlc con un editor de texto y busca en todo el XML la palabra "Pedido".
- Propuesto como respuesta Alberto López Grande (qwalgrande)Moderator jueves, 21 de julio de 2011 21:34
- Marcado como respuesta Alberto PoblacionMVP, Moderator sábado, 3 de diciembre de 2011 18:33
-