• Viernes 8 de Noviembre de 2024, 23:03

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - icamposb

Páginas: [1]
1
Crystal Reports / Re: Cargar archivo .RPT de CR11 sin el CRViewer
« en: Martes 22 de Septiembre de 2009, 23:23 »
Ok, como veo que nadie respondio, pongo el modo en que yo lo medio solucione, y digo medio porque no me fue posible hacerlo sin el CRViewer, lo que hice fue generarlo dinamicamente para no tener que meterlo en modo diseño en algun formulario y me haga mas lento el sistema.

Aqui va el codigo:

Citar
       'Declaro mi CRViewer
        Dim Reporte As New CrystalDecisions.Windows.Forms.CrystalReportViewer
        'Declaro un objeto de Reporte
        Dim RPT As CrystalDecisions.CrystalReports.Engine.ReportDocument

        'Este es mi reporte, lo tengo embebido en la aplicación, se lo asigno a mi variable
        RPT = New Rec_Financieros

        'Los datos que le pasare a mi reporte
        Dim sCon As String = "Select * From vMontosMes Where Bloque = '" & Bloque & "' And AnioPAT = " & Ano.ToString & " And VersionPAT = " & Version.ToString _
               & " ORDER BY NombreObra, Orden"

        'Modifico unos titulos
        Dim Tit As CrystalDecisions.CrystalReports.Engine.TextObject = RPT.ReportDefinition.ReportObjects("Tit01")
        Tit.Text = "PROGRAMA ANUAL DE TRABAJO " & Ano.ToString
        Tit = RPT.ReportDefinition.ReportObjects("Tit03")
        Tit.Text = "BLOQUE - " & Bloque

        'Aqui asigno los datos al reporte, Rs2DataTable es una funcion mia que a partir de una consulta me regresa un DataTable
        RPT.SetDataSource(Rs2DataTable(sCon))
        RPT.Refresh()

        'Aqui creo una pagina nueva en un TabControl, donde pondre el CRViewer
        Dim Pagina As New C1.Win.C1Command.C1DockingTabPage
        C1DockingTab1.TabPages.Add(Pagina)
        Pagina.Text = "Reporte"
        Pagina.Visible = True
        Pagina.Show()
        Pagina.Select()
        'Aqui pongo a la Pagina como padre de mi CRViewer
        Reporte.Parent = Pagina
        'Que el CRviewer llene toda la pagina
        Reporte.Dock = DockStyle.Fill
        'Le asigno el reporte
        Reporte.ReportSource = RPT
        'le doy el zoom que requiero
        Reporte.Zoom(75)
        'Lo muetro
        Reporte.Show()
        Reporte.Visible = True


Aunque este es un pedazo de codigo que uso en un proyecto mio, espero que les sirva como guia para no tener que meter el CRViewer en modo diseño, por cierto el codigo es en VB.NET 2008.

Saludos
Isaias Campos

Páginas: [1]