La sabiduría popular recomienda esto:
vbforums.com - How can I set default printer for CrystalReport
Mostrando entradas con la etiqueta crystalReportViewer. Mostrar todas las entradas
Mostrando entradas con la etiqueta crystalReportViewer. Mostrar todas las entradas
jueves, 7 de octubre de 2010
Cambiar el comportamiento del botón imprimir de un CrystalReportViewer
jueves, 27 de noviembre de 2008
WinForms. Controlar fin de carga de CrystalReportViewer
Tenemos un rpt que vamos a visualizar en un crystalReportViewer (crv) de nuestro WinForm. Y queremos controlar que mientras se monta el listado el usuario tenga un bonito reloj de arena dando vueltas en su pantalla. Parece sencillo:
Dim rpt As New CrystalDecisions.CrystalReports.Engine.ReportDocument
Me.Cursor = Cursors.WaitCursor
rpt.Load(rutaRpt, CrystalDecisions.Shared.OpenReportMethod.OpenReportByTempCopy)
rpt.SetDataSource(ds)
crv.ReportSource = rpt
Me.Cursor = Cursors.default
Al ejecutarlo nos damos cuenta de que en realidad el reloj de arena desaparece mucho antes de que el listado esté montado en la pantalla (obviamente esto sólo lo podemos apreciar si el listado es "pesado" de carga). Putada. Buscamos un evento que se nos dispare al terminar de armar el crystalReportViewer. Vaya, hay uno (AfterRender), pero sólo para el viewer de web. PUTADA de las gordas...
Pues si no hay solución elegante habrá que buscar una solución rastrera. ¿Y si intentamos paginar entre la asignación del ReportSource y la desaparición del reloj de arena?
Dim rpt As New CrystalDecisions.CrystalReports.Engine.ReportDocument
Me.Cursor = Cursors.WaitCursor
rpt.Load(rutaRpt, CrystalDecisions.Shared.OpenReportMethod.OpenReportByTempCopy)
rpt.SetDataSource(ds)
crv.ReportSource = rpt
crv.ShowFirstPage()
Me.Cursor = Cursors.default
Pues funciona. Menuda chorrada. Vamos a tomarnos unas cañas.
Suscribirse a:
Entradas (Atom)