P. 1
Crystal Reports Para Visual Studio .NET by Juanma

Crystal Reports Para Visual Studio .NET by Juanma

|Views: 4.859|Likes:
Publicado poralanbarbie

More info:

Published by: alanbarbie on Oct 23, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

05/29/2013

pdf

text

original

Al diseñar un informe es posible organizar los registros de tal manera que los campos que tienen un
mismo valor sean situados juntos, formando un grupo común.

Para ilustrar este aspecto de Crystal Reports crearemos un proyecto con el nombre RepGrupo (para
acceder al proyecto de este ejemplo hacer clic aquí), añadiendo un informe de ejemplo, en el que
mostraremos el contenido de la tabla Customers.

En el asistente de creación del informe, tras la selección de los campos de la tabla a mostrar,
pasaremos a la pestaña Grupo. Del panel Campos disponibles tomaremos el campo Country,
pasándolo al panel Agrupar por, de forma que la agrupación de registros sea realizada por dicho
campo. Ver Figura 44.

Figura 44. Creación de un grupo para el informe.

En este paso del asistente pulsaremos el botón Finalizar para generar el informe. Observe el lector que
este informe incluye una nueva sección con su propio encabezado y pie, correspondiente al grupo por

© Grupo EIDOS

39. Elaboración de informes con Crystal Reports para Visual Studio .NET

37

el que se organizarán los registros. En el título de esta sección se incluye el número de grupo (#1 en
este ejemplo), más el nombre del campo que se utiliza para crear la agrupación. Por otra parte, dentro
de cada sección de este grupo (encabezado y pie) se ha añadido el campo del nombre del grupo que se
acaba de crear. Ver Figura 45.

Figura 45. Diseñador de informe incluyendo un grupo.

Los campos de grupo generados también están disponibles en la ventana Explorador de campos, nodo
Campos de nombre de grupo, como vemos en la Figura 46.

Figura 46. Nodo Campos de nombre de grupo en el Explorador de campos del diseñador de CR.

Debemos tener en cuenta que el resultado de este diseño es modificable, por lo que si la distribución
de campos generada por el asistente no se adapta a nuestras necesidades, podemos cambiarlos
libremente. Para simplificar este ejemplo, y como ya sabemos modificar los campos contenidos en un
informe, dejaremos la distribución tal y como la crea el asistente. Veamos en la Figura 47 el resultado
del informe en ejecución, al ser visualizado en un formulario.

Programación con Visual Basic .NET

© Grupo EIDOS

38

Figura 47. Ejecución del informe con registros agrupados.

En los anteriores ejemplos, el lector seguramente se habrá preguntado qué funcionalidad tenía el panel
localizado a la izquierda del informe en el control CrystalReportViewer. Como puede comprobar en
este ejemplo, su utilidad se manifiesta en informes con registros agrupados, ya que de una manera muy
fácil y rápida nos permite desplazarnos a un grupo en concreto al hacer clic en su nombre dentro de
este panel. Pulsando el botón de la barra de herramientas Mostrar/ocultar árbol de grupos (tercero
comenzando por la derecha) dentro de este control, podremos ocultarlo dejando más espacio para el
informe en el formulario.

Si necesitamos modificar el campo por el que se produce la agrupación, debemos hacer clic derecho
sobre el campo del grupo desde la ventana Explorador de campos, eligiendo la opción de menú
contextual Asistente de Cambio de Grupo, que nos mostrará la ventana Cambiar grupo, con el campo
de agrupamiento actual. Pulsando el botón Opciones de esta ventana, aparecerá a su vez la ventana
Cambiar opciones de grupo, en la que podremos cambiar el campo de agrupamiento, junto con
algunas opciones adicionales. Ver la Figura 48.

Figura 48. Ventana para cambiar el campo del grupo.

© Grupo EIDOS

39. Elaboración de informes con Crystal Reports para Visual Studio .NET

39

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->