NReports -Diseñador y Generador de Informes-

2.932 visualizaciones

Publicado el

Diseñador y generador de Informes para usarlo en MonoDevelop sobre Linux.

NReports 0.8.1

Publicado en: Tecnología
1 comentario
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
2.932
En SlideShare
0
De insertados
0
Número de insertados
28
Acciones
Compartido
0
Descargas
75
Comentarios
1
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

NReports -Diseñador y Generador de Informes-

  1. 1. Tutorial Reporteador Open Source “NReports 0.8.1”Descripción:“NReports es una biblioteca de informes utilizando el formato de archivos RDL, el objetivo es lainteroperabilidad con los Servicios de Reporteria de SQL.Tiene su inicio como un fork de la última versión de fyIreporting 4.1 (ahora difunto).Soporta .NET 3.5 (Windows) y Mono 2.6 o posterior (Linux).”Fuente: http://nreports.codeplex.com/La causa del desarrollo de este tutorial, esta basada en la búsqueda de un generador de informesOpen Source y por supuesto que pueda utilizarse en entornos Linux.Actualmente, el desarrollo se encuentra en versión “Alfa”, y como lo dice la descripción: Soporta.NET 3.5 y Mono 2.6.Entre sus características tiene un diseñador y visor de informes usando Windows Forms pararepresentación (Windows), y un diseñador y visor de informes usando Gtk y Cairo pararepresentación (Linux).En este trabajo, vamos a utilizar Linux (distribución Linux Mint 10), MonoDevelop 2.4 yPostgreSQL como base de datos.Autor:José de Pazjose.depaz@gmail.comGuatemala – ColombiaTwitter: @_jdepaz
  2. 2. INICIOMateriales:Linux Mint 10 (escritorio GNOME)PostgreSQL 8.4MonoDevelop 2.4Npgsql 2.0.11 para monoNReports 0.8.1Breve descripción de los materiales:PostgreSQL: es un sistema de gestión de base de datos relacional orientada a objetos y libre,publicada bajo la licencia BSD.MonoDevelop: es un entorno de desarrollo integrado libre y gratuito, diseñado primordialmentepara C# y otros lenguajes .NET.Npgsql: es un proveedor de datos .NET para PostgreSQL, esta implementado el 100% en código C#.NReports: es un diseñador y visor de informes utilizando el formato de archivos RDL.Primer paso:PostgreSQL y MonoDevelop ya deben estar instalados en nuestro sistema operativo Linux, elconector Npgsql lo podemos descargar de su respectivo sitio web: http://npgsql.projects.postgresql.org/,luego en la pestaña “Downloads”, para luego seleccionar el archivo en formato ZIP “Npgsql2.0.11-bin-mono2.0.zip”, como se muestra en la figura No. 1. Figura No 1. Página de descargas Npgsql.
  3. 3. NReports lo podemos descargar de su respectivo sitio web: http://nreports.codeplex.com/, luego buscarel botón “Download” y hacer clic sobre él, luego debemos aceptar la licencia de uso einmediatamente se realiza la descarga de archivo en formato ZIP NReports-0.8.1.zip, como semuestra en la figura No. 2. Figura No. 2 Sitio web de NReports.Segundo paso:Como se escribió con anterioridad, PostgreSQL será nuestro gestor de base de datos, entonces paraello vamos a crear una tabla, a la cual le vamos a ingresar algunos registros, y estos mismos nosservirán para visualizar en el informe que diseñaremos mas adelante, ahora; crear la tabla“empleado” utilizando pgAdmin3, como se muestra en la figura No 3. Figura No. 3 Script SQL para crear tabla “empleado” utilizando pgAdmin III.
  4. 4. Luego de crear la tabla “empleado”, vamos a ingresarle algunos registros, como se muestra en lafigura No. 4, o bien puedes ingresarle los que quieras, para este ejemplo ingresaremos solo cinco: Figura No. 4 Ingresando cinco registros en la tabla “empleado” utilizando pgAdminIIISiguiendo: ya teniendo creada la tabla y con cinco registros, seguimos adelante.Tercer Paso:Ahora vamos a crear una carpeta para nuestro ejercicio, en este caso puedes colocarle el nombre quete guste; voy a crear una con el nombre “Ejercicio” dentro de “/home/jose” y dentro de ella vamos adesempaquetar los archivos que descargamos según el paso uno; los cuales son: Npgsql2.0.11-bin-mono2.0.zip y NReports-0.8.1.zip respectivamente, quedando la carpeta como se muestra en la figuraNo. 5. Figura No. 5 Carpeta “Ejercicio” con archivos desempaquetados.
  5. 5. Cuarto Paso:Uno de los archivos que desempaquetamos, específicamente el de “NReports”, contiene los archivosfuente para compilarlos, entonces para ello vamos a utilizar “MonoDevelop”; antes de eso, vamos aver el contenido de la carpeta “NReports-0.8.1”, según como se muestra en la figura No. 6. Figura No. 6 Contenido de la carpeta /home/jose/Ejercicio/NReports-0.8.1Esta carpeta contiene los archivos “solución” o *.sln, los cuales vamos a abrir con “MonoDevelop” paraluego compilarlos y así, generar el archivo ejecutable del diseñador y la biblioteca correspondiente de“NReports” la cual debemos incluir en el proyecto como referencia.Adelantando, cuando terminamos de compilar los proyectos “NReports.sln” y “NReports.Gtk.sln”, segeneran el diseñador y el visor de informes, llamados respectivamente “NReportsDesigner.exe” y“GtkTest.exe “.Bien, llegando a este punto, procedemos a ejecutar “MonoDevelop”, como se muestra en la figura No. 7 y No8: Figura No. 7 Splash Screen de MonoDevelop
  6. 6. Figura No. 8 IDE de MonoDevelopTeniendo cargado el IDE de MonoDevelop, vamos a abrir el proyecto solución “NReports.sln”, el cual seencuentra en “../Ejercicio/NReports-0.8.1/”; para esto, hacemos clic en la opción “File” de la barra de menús,luego en el ítem “Open”, como se muestra en la figura No. 9: Figura No. 9 Ítem “Open” del menú “File
  7. 7. Quinto Paso ( Primera construcción):Una vez abierta la solución; procedemos a construirla, seleccionando desde la ventana de “soluciones”, yluego haciendo clic con el botón derecho del mouse, y elegir la opción “Build NReports” del menú contextualque se despliega, como se muestra en la figura No. 10: Figura No. 10 Construcción de la Solución NReportsLuego de haber construido la solución, podemos observar en la barra de mensajes de MonoDevelop, la cualestá en la parte inferior izquierda, que la construcción se llevo a cabo con “0” errores y unas “83”advertencias, tomando como referencia la figura No. 11: Figura No. 11 Después de la construcción de la solución; con 0 errores
  8. 8. Después de esto, vamos a ir a la siguiente ruta “../Ejercicio/NReports-0.8.1/NReports.RdlDesign/bin/Debug”,y vemos que dentro de la carpeta “Debug”, se encuentran los archivos generados por la construcción anterior,y nos centramos específicamente en el que tiene el nombre “NReportsDesigner.exe”, tal como se muestra enla figura No. 12: Figura No. 12 Archivos generados dentro de la carpeta DebugAhora lo que haremos, es ejecutar el archivo tipo aplicación “ NReportsDesigner.exe”, para realizar esto hayque abrir una “Terminal” de línea de comandos y dirigirnos hasta la carpeta “Debug” para luego correr eldiseñador, tomando como referencia la figura No. 13: Figura No. 13 Terminal de línea de comandos dentro de la carpeta DebugDespués de llegar hasta el interior de la carpeta “Debug”, escribimos lo siguiente: ./NReportsDesigner.exe yluego presionamos la tecla “Enter”; debes saber que para ejecutar un archivo en Linux, hay que anteponer elpunto “.” y la barra “/” ( o slash ) al nombre del archivo.Si todo marcha correctamente después de haber presionado la tecla “Enter”, tendremos visible el diseñadortal como se muestra en la figura No. 14 y luego, en este paso solo vamos a verificar que la aplicación seejecuta, entonces luego de darle una vista, procedemos a cerrarla y regresar a “MonoDevelop”.
  9. 9. Figura No. 14 Ventana de la aplicación NReports DesignerSexto Paso (Segunda construcción):Ahora que todo esta marchando correctamente, regresamos al IDE de “MonoDevelop”, y cerramos lasolución actual; para esto, hacemos clic en la opción “File” de la barra de menús, luego en el ítem “CloseSolution ”.Seguido de esto, procedemos a abrir el proyecto solución “NReports.Gtk.sln”, el cual se encuentra en“../Ejercicio/NReports-0.8.1/”; para esto, hacemos clic en la opción “File” de la barra de menús, luego en elítem “Open”, tomando como referencia la figura anterior No. 9.Luego procedemos a construirla, seleccionando desde la ventana de “soluciones”, y luego haciendo clic conel botón derecho del mouse, y elegir la opción “Build NReports.Gtk” del menú contextual que se despliega,tomando como referencia la figura anterior No. 10.En la construcción de esta solución, podemos observar en la “barra” de “mensajes” de “MonoDevelop”, lacual está en la parte inferior izquierda, que la construcción se realizo con “0” errores y con “0” advertencias;o sea una “Construcción exitosa”, tomando como referencia la figura No. 15:
  10. 10. Figura No. 15 Después de la construcción de la solución; con 0 errores y 0 advertenciasAhora hacemos lo siguiente: nos vamos a dirigir a la siguiente ruta “../Ejercicio/NReports-0.8.1/NReports.GtkReportViewer/bin/Debug”, y vemos que dentro de la carpeta “Debug”, se encuentran losarchivos generados por la construcción anterior, y nos centramos específicamente en el que tiene el nombre“GtkTest.exe”, tal como se muestra en la figura No. 16: Figura No. 16 Archivos generados dentro de la carpeta DebugAhora lo que haremos, es ejecutar el archivo tipo aplicación “ GtkTest.exe”, para realizar esto vamos aregresar a “Terminal” de línea de comandos abierta anteriormente y dirigirnos hasta la carpeta “Debug” paraluego correr el visor de informes, tomando como referencia la figura No. 17:
  11. 11. Figura No. 17 Terminal de línea de comandos dentro de la carpeta Debug de GtkReportViewerDespués de llegar hasta el interior de la carpeta “Debug”, escribimos lo siguiente: ./GtkTest.exe y luegopresionamos la tecla “Enter”; Repito: debes saber que para ejecutar un archivo en Linux, hay que anteponerel punto “.” y la barra “/” ( o slash ) al nombre del archivo.Si todo marcha correctamente después de haber presionado la tecla “Enter”, tendremos visible el visor deinformes tal como se muestra en la figura No. 18 y luego, en este paso solo vamos a verificar que laaplicación se ejecuta, entonces luego de darle una vista, procedemos a cerrarla y regresar a “MonoDevelop”. Figura No. 18 Ventana de la aplicación NReport Viewer
  12. 12. Séptimo Paso (diseñando el informe):Ahora que todo esta marchando correctamente, regresamos al IDE de “MonoDevelop”, y cerramos lasolución actual; para esto, hacemos clic en la opción “File” de la barra de menús, luego en el ítem “CloseSolution ”.“Antes de encender el vehículo, necesitamos verificar que tenga combustible”Antes de iniciar con el diseño del informe, necesitamos conocer y hacer algo al respecto: el diseñador utilizaun archivo de configuración con extensión XML, llamado “RdlEngineConfig.xml”, en el cual están lasdescripciones de los diferentes proveedores de datos, entre los cuales encontramos: SQL (Sql Server),ODBC, OLEDB, MySQL, XML, puedes ver la siguiente figura, en donde se detalla parte del contenido deeste archivo: Figura No. 19 Contenido del archivo RdlEngineConfig.xmlComo podemos observar, cada origen de datos esta compuesto por las siguientes etiquetas: DataProvider,CodeModule, ClassName, TableSelect e Interface, pero específicamente no tiene el que necesitamos; en estecaso para “PostgreSQL”.Entonces vamos a agregar las siguientes etiquetas; las cuales quedaran antes del DataSource para SQL, estoquiere decir que el DataSource para PostgreSQL quedara como el primero; seguido, abrimos el archivo“RdlEngineConfig.xml” el cual se encuentra en la siguiente ruta: “../Ejercicio/NReports-0.8.1/NReports.RdlDesign/bin/Debug”; una vez abierto, agregamos las siguientes etiquetas tomando comoreferencia la figura No. 20:
  13. 13. Figura No. 20 Agregando un DataSource al archivo RdlEngineConfig.xmlSi la figura no te ayuda, entonces toma como referencia las siguientes líneas:<DataSource> <DataProvider>PostgreSQL</DataProvider> <TableSelect>SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERETABLE_NAME NOT LIKE pg_% ORDER BY 1 </TableSelect> <CodeModule>Npgsql.dll</CodeModule> <ClassName>Npgsql.NpgsqlConnection</ClassName> <Interface>SQL</Interface></DataSource>Después de agregar las líneas correspondientes al archivo, los guardamos y los cerramos.Ahora es cuando vamos a hacer uso del proveedor de datos “Npgsql”, el cual ya hemos descargado ydesempaquetado con anterioridad, entonces nos dirigirnos a la siguientes ruta: “../Ejercicio/Mono2.0/bin” endonde seleccionamos los siguientes archivos: Npgsql.dll, Mono.Security.dll y policy.2.0.Npgsql.dll y loscopiamos a la siguiente ruta: “../Ejercicio/NReports-0.8.1/NReports.RdlDesign/bin/Debug”.Estos archivos que copiamos a donde corresponden, son los que necesita el diseñador para que al seleccionarel origen de datos llamado “PostgreSQL”; haciendo uso de la librería “Npgsql.dll”, nos podamos conectar ala base de datos sin ningún problema; observa entonces como queda el contenido de la carpeta“../Ejercicio/NReports-0.8.1/NReports.RdlDesign/bin/Debug”, según la figura No. 21: Figura No. 21 Archivos contenidos en la carpeta Debug
  14. 14. “Después que verificamos que tenemos combustible, proseguimos”Regresamos entonces a la “Terminal” de línea de comandos y nos dirigirnos a la siguiente ruta:“../Ejercicio/NReports-0.8.1/NReports.RdlDesign/bin/Debug” y procedemos a ejecutar el diseñador; para estoescribimos “./NReportsDesigner.exe”y luego presionamos la tecla “Enter”, tal como se mostró en la figuraNo 13, luego teniendo listo el diseñador, procedemos a crear el informe.Ahora, hacemos clic en la opción “File” de la barra de menús, luego en el ítem “New Report”, tomando comoreferencia la figura No. 19: Figura No. 22 Opción “New Report” en el diseñador “NReport Designer”Luego de haber seleccionando la opción de “New Report”, el diseñador nos muestra una ventana en dondedebemos configurar los datos del informe, como lo son: Report Info, Connection, Parameters, SQL,Grouping, Report Syntax y Report Preview, como se muestra en la figura No. 23: Figura No. 23 Ventana de configuración para el nuevo informe
  15. 15. Bien, entonces ahora solo vamos a configurar lo siguiente: en la pestaña “Report Info” dejamos tal como semuestra, y seleccionamos la pestaña “Connection”, y procedemos a configurar esta sección tal como semuestra en la figura No. 24, seleccionando el tipo de conexión “PostgreSQL” y escribiendo la cadena deconexión en el cuadro de texto “Connection”, y luego probamos la conexión haciendo clic sobre el botón“Test Connection”, y esperando que este todo correctamente, la prueba de conexión nos dará resultadossatisfactorios: Figura No. 24 Ventana de configuración, pestaña “Connection”Ahora, seguimos y seleccionamos la pestaña “SQL”, y procedemos a configurar esta sección tal como semuestra en la figura No. 25, ingresando la sentencia SQL “SELECT * FROM empleado;” dondecorresponde: Figura No. 25 Ventana de configuración, pestaña “SQL”
  16. 16. Por último, si todo lo indicado lo hemos realizado correctamente, entonces nos dirigirnos a la pestaña“Report Preview” y podrás ver una vista preliminar del informe; con esto, como se muestra en la figura No.26 podremos decir que vamos bien: Figura No. 26 Ventana de configuración, pestaña “Report Preview”Entonces como vimos en la figura anterior, ahora cerramos la ventana respectiva de configuraciones y eldiseñador nos devuelve a diseñador (valga la redundancia) en donde podremos cambiar o agregar encabezadode página, pie de página, entre otras cosas, como se muestra en la figura No. 27: Figura No. 27 Informe creado según la configuración de conexión
  17. 17. Octavo Paso (terminando el informe):Ahora antes que ocurra una falla eléctrica o al parecido, vamos a guardar el informe, para realizar estohacemos clic sobre el ícono respectivo o bien seleccionando la opción “File” del menú de opciones y luegosobre el ítem “Save”; para este informe le pondremos el nombre “empleado.rdl”.Ya teniéndolo guardado, vamos a insertarle su respectivo encabezado; para realizarlo hacemos clic sobre elícono para agregar un “Textbox” y luego nos dirigirnos a la rejilla donde dice “Page Header” y comobuenos artesanos en el uso del mouse, agregamos un “Textbox” y luego lo redimensionamos tomando comoreferencia la figura No. 28 y después le cambiamos la propiedad “Value”, - esta se encuentra en la partederecha del diseñador, en la sección de “Properties” - borrando la que tiene “Text” y le ingresamos “Reportede Empleados”, luego le cambiamos el tamaño de letra de 10 a 18 y listo, procedemos a “guardarlo”. Figura No. 28 Agregando un encabezado al informe utilizando un TextboxCreo que hasta aquí nuestro trabajo se esta realizando con éxito; entonces prosigo, ahora vamos a ver una“Vista Previa” del informe desde el diseñador, para esto hacemos clic sobre la pestaña “Preview”, la cual seencuentra en la parte inferior izquierda, después de las pestañas “Designer”y “RDL Text” respectivamente,luego vamos a ver el código fuente del informe, o sea el archivo “empleado.rdl”, para realizarlo solohacemos clic sobre la pestaña “RDL Text”, tomar como referencia las figuras No. 29 y No. 30; luego deobservar, podemos decir que hemos terminado de diseñar el informe; entonces solo queda cerrar el diseñador.
  18. 18. Figura No. 29 Vista previa del informe con su encabezado Figura No. 30 Código fuente del archivo empleado.rdl
  19. 19. Noveno Paso (Creando proyecto):Llegando casi al final de este ejercicio, lo que nos resta es crear un proyecto o solución en “MonoDevelop” yproceder a llamar el informe.Entonces que esperamos, abrimos el IDE de “MonoDevelop” y luego hacemos clic sobre la opción “File” delmenú y luego sobre el ítem “New” y luego sobre el sub-ítem “Solution”, haciendo esto se nos abre unaventana como se muestra en la figura No. 31, en la cual vamos a seleccionar que sea un proyecto en lenguajeC#, y que sea de tipo “Gtk # 2.0 Project”, luego le ingresamos un nombre respectivo y la ruta respectiva; eneste caso estoy usando la carpeta “Tutorial” en donde guarde el informe “empleado.rdl”, luego de esto,hacemos clic en el botón “Forward”, tomar como referencia la figura No 31: Figura No. 31 Creando una nueva solución tipo Gtk # 2.0 en MonoDevelopDespués de hacer clic sobre el botón “Forward”, se nos abre una ventana como se muestra en la figura No.32, la cual vamos a dejar tal como se muestra y luego presionamos el botón “Ok” para terminar.
  20. 20. Figura No. 32 Opciones adicionales de la solución tipo Gtk # 2.0 en MonoDevelopAhora bien, ya hemos creado la solución y luego de esto volvemos al IDE y podemos observar en elexplorador de soluciones; los elementos que componen la solución y así mismo el IDE nos muestra tambiénen la ventana del editor de código fuente; el contenido del archivo principal “Main.cs” como podremosobservar en la figura No. 33: Figura No. 33 Solución “Tutorial” recién creada en MonoDevelop
  21. 21. Yo se que estamos impacientes por ver algo, entonces vamos a construir la aplicación y luego correrla, paraesto presionamos la combinación de teclas “Ctrl + F5” o bien haciendo clic sobre el botón “Run” el cual seencuentra entre los siguientes íconos: específicamente el tercero de izquierda a derecha.Haciendo esto podrás ver que se muestra una ventana con el título “MainWindow”, esto es porque al crearuna solución de este tipo, el IDE nos crea por defecto una clase llamada “MainWindow.cs”, la cual deriva delnamespace “Gtk.Window” y a su vez contiene un “widget” contenedor tipo “Form”.Para ver esto, hacemos doble clic sobre el archivo “MainWindow.cs” que tenemos en el explorador desoluciones y luego se nos muestra otra pestaña en el editor de código fuente, como se muestra en la figuraNo. 34 y luego hacemos clic sobre el botón “Designer”, el cual se encuentra en la parte inferior del editor y alrealizarlo se nos muestra el diseño de la clase “MainWindow”, tomando como referencia la figura No. 35: Figura No. 34 Código fuente de archivo MainWindow.cs Figura No. 35 Diseñador del archivo MainWindow.cs con componente gráfico.
  22. 22. Décimo Paso (agregando referencias NReports):Ya nos encontramos en los últimos pasos para terminar, espero no estéis impacientes como lo estoy yo.Pues bien; seguimos, para tener la disponibilidad de NReports en nuestra solución, vamos a agregar lasrespectivas referencias; las cuales son: “NReports.dll” y “NReports.GtkRender.dll”, esto archivos losencontramos en la ruta donde construimos la solución “NReports.GtkViewer”; específicamente en:“../Ejercicio/NReports-0.8.1/NReports.GtkReportViewer/bin/Debug”.Entonces para agregar estas referencias a la solución, vamos a realizar lo siguiente: hacemos clic con el botónderecho sobre el ítem “References” que se encuentra en el explorador de soluciones; tomando comoreferencia la figura No. 36, y luego elegimos la opción “Edit References”, después de realizarlo, se nos abreuna ventana como se muestra en la figura No. 37, en la cual nos vamos a la pestaña “.Net Assembly”, luego exploramos hasta donde se encuentran los archivos mencionados anteriormente, y cuando los encontramos, procedemos a seleccionarlos y luego presionamos el botón “Add” que se encuentra en la parte superior derecha y por último presionamos el botón “Ok” que se encuentra en la parte inferior derecha, y te lo repito: toma como referencia la figura No. 37.Figura No. 36 Explorador Figura No. 37 Agregando Referencias “.Net Assembly”a la solución
  23. 23. Antes de seguir, voy a comentarles que al agregar las respectivas referencias de “NReports”, se agregar doscomponentes visuales, los cuales los podemos observar en la caja de herramientas, como se muestra en la figura No. 38; entonces, el componente que nos realizará el trabajo de “ver el informe” será el llamado “ReportViewer”. Seguido, vamos a agregar otro formulario; el cual no servirá para enviar una “vista previa” del informe, a nuestra solución en donde vamos a cargar este componente, para luego que este formulario “Preview” sea llamado desde el formulario principal o “MainWindow”, ¡espero que les haya quedado claro!Figura No. 38 ToolBoxDespués de lo expuesto anteriormente, vamos al diseñador del primer formulario y vamos a agregar un“contenedor” de componentes para colocar un botón de comando; para realizar esto, buscamos en la caja deherramientas el componente “Fixed” y luego lo seleccionamos y lo arrastramos al formulario“MainWindow”, seguido de esto, vamos otra vez a la caja de herramientas, solo que ahora nos dirigirnos a lasección “widgets”, y seleccionamos el componente “Button” y lo arrastramos al formulario, para estasinstrucciones puedes tomar como referencia las figuras No. 39 y No. 40: Figura No. 40 Componente ButtonFigura No. 39 Contenedor FixedAhora bien, el formulario debería quedar como se muestra en la figura No. 41, ya teniendo agregado el botónde comando, le cambiamos la propiedad “Label” ingresando el siguiente texto: “Abrir Informe”.Para cambiar las propiedades de los componentes, solo debemos seleccionar primero el componente; en estecaso el botón, y luego nos dirigimos a la paleta de “Propierties” que se encuentra en la parte izquierda delIDE y buscar respectivamente la propiedad a cambiar.En Linux -si esto no es así, por favor me pueden corregir -, específicamente en MonoDevelop, cadacomponente tiene sus señales -Signals- llamados así a diferencia de otros entornos en los cuales se les llamaEventos.Entonces a este botón llamado “button1” le vamos a codificar una señal para cuando sea presionado; o sea laseñal “Clicled”
  24. 24. Figura No. 41 Formulario MainWindow con componentes agregadosBien hasta aquí, ahora que ya hemos explicado lo que vamos a realizar con anterioridad, procedemos aagregar otro formulario a la solución, entonces hacemos clic con el botón derecho del mouse sobre el ítem“Tutorial” que se encuentra en el explorador de soluciones, y luego buscamos y seleccionamos la opción“Add” y por último la opción “New Window”, tomando como referencia la figura No. 42: Figura No. 43 Agregando un nuevo formularioSeguido, se abre una ventana para que elijamos el tipo de formulario o ventana, entonces para este casoseleccionamos que sea de tipo “Gtk”, luego que sea tipo “Window”, y por último le asignamos el nombre“Preview” y listo, presionamos el botón “New”, entonces tomamos como referencia la figura No. 44:
  25. 25. Figura No. 44 Agregando una nueva ventana o formulario a la soluciónYa que hemos agregado un nuevo formulario,; entonces, como escribimos anteriormente, este nos servirápara visualizar el informe. Seguido, agregamos un contenedor al formulario, para esto agregamos elcomponente “Scrolled Window”; como se muestra en la figura No. 45, que se encuentra en la sección“Containers” de la caja de herramientas, luego de esto, agregamos el componente “ReportViewer”; el cual loencontramos en la sección “General” de la caja de herramientas; según como se muestra en la figura No. 46,luego haber arrastrado los componentes al formulario, este nos quedara como se muestra en la figura No. 47Figura No. 45 ContenedorFigura No. 46 ComponenteReportViewer Figura No. 47 Formulario Preview con el componente ReportViewer
  26. 26. Ahora que ya tenemos listo el formulario “Preview” con sus componentes respectivos, vamos a codificar elmétodo constructor de la clase “Preview.cs”; para esto nos vamos a la pestaña “Source Code” y nosdirigirnos al método en mención y agregamos un parámetro de entrada llamado “sInforme” de tipo “string” yla siguiente línea: “this.reportviewer.LoadReport(sInforme)” tomando como referencia la figura No. 49: Figura No. 49 Código del método constructor PreviewLo que exactamente estamos realizando es lo siguiente: al cargarse el formulario “Preview”, este a su vezrecibe un parámetro de tipo “string” en su constructor, el cual tendrá el nombre del informe; para esteejemplo será “empleado.rdl” y luego le asignamos este parámetro al método “LoadReport” de componente“reportviewer”, el cual hace la tarea de generar el informe y seguidamente visualizarlo.Bueno, ya casi terminando, -la olla ya va a pitar- vamos a codificar la señal del botón que llamará alformulario que nos hará el trabajo de vista previa del informe, entonces ahora nos vamos al formulario“MainWindow” y seleccionamos el botón respectivo y luego nos dirigirnos a las propiedades y luego a lapestaña “Signals”y buscamos la señal “Clicked” y teniéndola seleccionada hacemos doble clic sobre ella,como se muestra en la figura No. 50: Figura No. 50 Señal Clicked del botón de comandoDespués de haber creado la señal para el botón respectivo, se nos abre el edito de código fuente, en el cualvamos a agregar la directiva: “using Tutorial;” la cual nos servirá para poder crear un objeto del tipo deformulario “Preview”, al cual lo instanciamos enviándole como parámetro el nombre del informe, en este
  27. 27. caso “empleado.rdl” y luego hacemos uso del método “Show();” para abrirlo o mostrarlo como bien teparezca.Para agregar las líneas de código respectivo, toma como referencia la figura No. 51 y agrega según lacorrespondiente a la directiva y las que corresponden al método “OnButton1Clicked” que es la señalcorrespondiente al botón “Abrir Informe” : Figura No. 51 Código de la clase MainWindow.csSabiendo que eres precavido, espero que estés guardando los cambios para no tener que arrepentirse masadelante, tampoco espero que te adelantes y hayas ejecutado la aplicación; ya que en este punto, si lo hashecho y has presionado el botón “Abrir Informe”, seguro que se te presentaran errores, así que mejor esperala siguiente instrucción.Para que el componente “reportviewer” informe pueda generar y mostrar los datos, necesita de lo siguiente:El archivo informe de tipo RDL, en este caso “empleado.rdl”El proveedor de datos, en este caso la biblioteca “Npgsql.dll“ y “Mono.Security.dll”, “police.2.0.Npgsql.dll”El archivo de configuración, en este caso: “RdlEngineConfig.xml”Entonces sabiendo esto, vamos a copiar estos archivos en la carpeta“../Ejercicio/Tutorial/Tutorial/Tutorial/bin/Debug”, ahora bien, ¿Donde encontramos los archivosmencionados anteriormente?, te recomiendo que busques en el inicio de este tutorial y verifiques dondeestán para luego copiarlos.
  28. 28. Entonces toma como referencia la figura 52 para verificar que tengas todos los archivos correspondientes yque la aplicación pueda ejecutarse sin ningún problema. Figura No. 52 Archivos contenidos en la carpeta DebugLlegando al finalAhora si, presionemos el ícono respectivo para construir la aplicación o bien la combinación de teclas“Ctrl+F5” y luego se nos abre la ventana respectiva y seguido presionemos el botón “Abrir Informe” yhaciendo esto seras testigo que todo este trabajo si tuvo la pena, como se muestra en la figura No. 53: Figura No. 53 Solución Tutorial ejecutándose con la presentación del informe “empleado.rdl”
  29. 29. FINALEspero que este tutorial tenga su efecto, y que ayude a todos aquellos que andan en la búsqueda de ungenerador de informes, y que por supuesto para Linux.También puedo decirles que aunque NReports esta en versión Alfa, trabaja muy bien y claro esta que laretroalimentación a los creadores sería de bastante ayuda, por tal situación los invito a que lo usen y queprueben con otros informes mas detallistas, como lo pueden ser informes que reciban parámetros.Falto explicar y trabajar sobre otras funcionalidades, pero espero mas adelante poder realizar otro tutorialque continué explicando las otras características de este generador y sus posibles alternativas.Entonces espero recibir tus comentarios al respecto y las sugerencias respectivas a las cuales estaré muyagradecido de recibir y contestar.Si tienes alguna invitación a desarrollar otro tutorial sobre otra herramienta, pueden contar conmigo.Este tutorial se lo dedico a mi esposa por ser paciente y esperarme, a mi hija por ser mi inspiración, también amis amigos y colegas Milton, Nery y Luis. “No seas sabio en tu propia opinión; Teme a Jehová, y apártate del mal” Proverbios 3:7

×