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:
'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