Compartir a través de


Evitar mezclar los modelos de objetos

No mezcle el modelo de objetos CrystalReportViewer con otros modelos.

El uso del control CrystalReportViewer en su función de modelo de objetos limitado funciona correctamente, siempre y cuando lo enlace directamente al informe con una cadena de ruta sencilla.

Pero si lo encapsula en uno de los demás modelos de objetos (como ReportDocument o ReportClientDocument) y, a continuación, enlaza el control a ese modelo de objetos, deje de utilizar inmediatamente el modelo de objetos CrystalReportViewer. El modelo limitado que se proporciona con el control CrystalReportViewer se convierte en redundante respecto al modelo de objetos más eficaz al que está enlazado. Además, la configuración que se aplica al modelo de objetos CrystalReportViewer es visible para el otro modelo de objetos, lo que podría dar lugar a un comportamiento y excepciones inesperados.

Por ejemplo, quizá prefiera utilizar el modelo de objetos ReportDocument para exportar o imprimir un informe mensual desde el servidor. Si ha establecido un parámetro mensual en este informe con el modelo de objetos CrystalReportViewer, puede que experimente problemas. El modelo de objetos ReportDocument no puede ver la configuración de parámetros aplicada en el modelo de objetos CrystalReportViewer. Intentará exportar o imprimir el informe sin darse cuenta de la existencia de esa configuración de parámetro mensual y, a continuación, mostrará el mes equivocado o incluso provocará una excepción.

La mejor respuesta es limitar el uso del control CrystalReportViewer para informar de la configuración de presentación sólo cuando el control se haya enlazado a uno de los modelos de objetos subyacentes.