Usuario
¿Como hago para que la ventana que contiene un reportviewer no tarde en abrir?

Pregunta
-
Buenos días, escribo en esta oportunidad porque tengo un formulario donde se debe ingresar unos datos en textbox y combobox y luego que se guardan mostrar un reportviewer pero el problema que presento es que para que se muestre el formulario del reportviewer tarda mucho, como se puede evitar eso? este es el código que utilizo cuando le doy en el boton de guardar, claro primero ejecuto un procedimiento que me tiene que devolver un entero:
if (Convert.ToInt32(rpta) != 0) { DataTable ultimo = NRequerimiento.BuscarIdRequerimiento(Convert.ToInt32(rpta)); this.MensajeOk("Se registro la solicitud " + ultimo.Rows[0][0].ToString() + " correctamente."); Clipboard.SetText(ultimo.Rows[0][0].ToString()); Variable_Globales.NroExpediente = ultimo.Rows[0][0].ToString(); FrmOficioExpediente frm = new FrmOficioExpediente(); frm.ShowDialog(); this.Limpiar(); } else { this.MensajeError(rpta); }
y en el load del reporte tengo esto, que es para visualizar el reporte:
try { this.txtNExpediente.Text = Variable_Globales.Nro; DataTable datos = NRequerimiento.BuscarRequerimiento(this.txtNExpediente.Text.Trim().ToUpper()); if (datos.Rows.Count > 0) { this.reportViewer1.Visible = true; this.reportViewer1.ZoomMode = ZoomMode.PageWidth; ReportParameter para = new ReportParameter("para", this.txtNExpediente.Text.Trim().ToUpper()); this.reportViewer1.LocalReport.SetParameters(new ReportParameter[] { para }); ReportDataSource rds1 = new ReportDataSource("DataSet1", datos); this.reportViewer1.LocalReport.DataSources.Clear(); this.reportViewer1.LocalReport.DataSources.Add(rds1); this.reportViewer1.LocalReport.Refresh(); this.reportViewer1.RefreshReport(); } else { this.MensajeError("No hay datos disponibles"); } } catch (Exception ex) { MessageBox.Show(ex.Message + ex.StackTrace); }
que me recomienda para que no tarde en mostrarse el formulario del reporte y se visualice rápido?
Todas las respuestas
-
hola
>>pero el problema que presento es que para que se muestre el formulario del reportviewer tarda mucho
puede depender de muchos factores, estas asignando un .rdlc ? o sea es un reporte local o usas el servicio de reporting de sql server
puedes validar si la generarcion del datatable no demora?
porque usas dos veces estas lineas
this.reportViewer1.LocalReport.Refresh(); this.reportViewer1.RefreshReport();
porque dos refresh, no alcanza con uno ?
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Propuesto como respuesta Juan MondragónModerator miércoles, 7 de noviembre de 2018 16:09
-