Hola me gustaría saber si alguien me puede ayudar con este problema.
Tengo varios reportes hechos (Posición, Transacciones, Contabilidad, etc.), cada uno con su propio DataSet, y todos funcionando bien. Lo que necesito hacer ahora es un nuevo reporte llamado ‘crCartolaTotal’ el cual muestra los totales de todos los reportes anteriores.
El código que utilizo para generar cada reporte en forma particular y que funciona bien es el siguiente:
Ej. Reporte Posiciones.
Private Sub CargaDatos()
Dim ds As DataSet
ds = PosicionDiaria()
ExportReports(ds)
End Sub
Private Sub ExportReports(ByVal ds As DataSet)
Dim cr As New crPosicion
ds.Tables(0).TableName = "Posicion"
cr.SetDataSource(ds)
Response.Clear()
Response.Buffer = True
Dim FileName As String = "Posición.pdf"
Response.AddHeader("content-disposition", "attachment;filename=" + FileName)
Response.Charset = "ISO-8859-1"
Response.ContentType = "application/vnd.pdf"
Dim oStream As MemoryStream = CType(cr.ExportToStream(ExportFormatType.PortableD ocFormat), MemoryStream)
Response.BinaryWrite(oStream.ToArray())
Response.End()
End Sub
Ahora lo que necesitaría hacer es cargar varios DataSet en el mismo reporte (esta es la parte que no me funciona o no sé cómo hacerla)
El código lo modifico de la siguiente forma:
Private Sub CargaDatos()
Dim dsPosicion As DataSet
Dim dsContabilidad As DataSet
dsPosicion = PosicionDiaria()
dsContabilidad = Contabilidad()
ExportReports(dsPosicion, dsContabilidad)
End Sub
Private Sub ExportReports(ByVal dsPosicion As DataSet, ByVal dsContabilidad As DataSet)
Dim cr As New crCartolaTotal
dsPosicion.Tables(0).TableName = "Posicion"
dsContabilidad.Tables(0).TableName = "Contabilidad"
cr.SetDataSource(dsPosicion)
cr.SetDataSource(dsContabilidad)
Response.Clear()
Response.Buffer = True
Dim FileName As String = "Cartola Total.pdf"
Response.AddHeader("content-disposition", "attachment;filename=" + FileName)
Response.Charset = "ISO-8859-1"
Response.ContentType = "application/vnd.pdf"
Dim oStream As MemoryStream = CType(cr.ExportToStream(ExportFormatType.PortableD ocFormat), MemoryStream)
Response.BinaryWrite(oStream.ToArray())
Response.End()
End Sub
Al ejecutar esto se cae el programa en la línea
Dim oStream As MemoryStream = CType(cr.ExportToStream(ExportFormatType.PortableD ocFormat), MemoryStream)
Por favor alguen que me ayude. Gracias