Hoy vengo a compartir con vosotros la solución a uno de los problemas que me he encontrado usando el control CrystalReportViewer.

Estoy desarrollando una aplicación web ASP.NET con C# en la que uso el control CrystalReportViewer para visualizar un informe creado con Crystal Report para Visual Studio .NET 2008.

Cuando insertamos el control CrystalReportViewer en nuestra página aspx, se muestra una barra de herramientas configurable desde la ventana de propiedades de Visual Studio. Esta barra de herramientas nos permite realizar acciones con nuestro informe como imprimir, pasar de página, exportar, etc…

Al compilar en local y generar el informe puedo ver que toda la información se muestra como debería. Me decido a poner en producción el código para que todos los usuarios puedan usar la nueva utilidad y generar el nuevo informe.

Aquí viene mi sorpresa, y es que al entrar a la pantalla donde se genera el informe veo que los botones e iconos del CrystalReportViewer no funcionan y no se muestran bien. Después de realizar algunas búsquedas y probar varias soluciones posibles, conseguí hacer que funcionase todo correctamente.

¿Por qué tengo estos problemas con CrystalReportViewer?

El motivo que ocasiona estos problemas con CrystalReportViewer viene de la instalación de Crystal Reports en el servidor, ya que durante la instalación se crean algunas carpetas dentro de uno de los directorios predeterminados de IIS (C:\inetpub\wwwroot\aspnet_client\system_web\[versión_asp.net]\), donde están todos los scripts, imágenes y estilos necesarios para el correcto funcionamiento de los componentes de Crystal Reports. En este caso esto ficheros necesarios para el funcionamiento no se encontraban en la carpeta correspondiente.

Para solventar el problema, es suficiente con copiar la carpeta aspnet_client desde el sitio por defecto de IIS a la raíz de nuestro sitio y así devolverás la funcionalidad completa a los componentes de Crystal Reports, en este caso CrystalReportViewer y así terminar con los problemas de este.

Espero que te haya servido de ayuda esta entrada, si es así te agradecería un comentario o un compartir.