none
ReportViewer desde SP RRS feed

  • 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.
    miércoles, 13 de julio de 2011 12:02

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".
    miércoles, 13 de julio de 2011 19:27
    Moderador

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".
    miércoles, 13 de julio de 2011 19:27
    Moderador
  • Hola Marcelo,

    ¿Conseguiste resolver tu problema?

    Un Saludo!


    Fran Díaz | {geeks.ms/blogs/fdiaz/} | {onobanet.es} | {secondnug.com}
    miércoles, 3 de agosto de 2011 8:19
    Moderador