A continuación, vamos a ver un ejemplo de una agrupación simple. Vamos a ver cómo obtener un informe de los pedidos que se han efectuado desde cada ciudad a la fábrica. Por lo tanto, el informe mostrará un listado de pedidos agrupados por ciudades.
Comenzaremos creando un informe vacío a través de JasperReport. Le asignaremos como nombre PedidosCiudad. De cada pedido mostraremos el número que identifica al pedido (guardado en la base de datos como ID_Pedido) y la fecha del pedido. Al realizar la consulta a la base de datos ordenaremos los datos por el campo ciudad, utilizando la cláusula Order by.
La sentencia SQL que utilizaremos que vamos a utilizar para obtener la información de nuestro informe es:
SELECT ciudad, id_pedido, fecha_pedido FROM
clientes, pedidos where clientes.ID_Cliente = pedidos.ID_Cliente
order by ciudad
Desde el panel Report Inspector, agregamos los campos Id_pedido y fecha de nuestra consulta en la parte de detalle del informe. Eliminaremos las etiquetas que nos aparecerá en la banda Column Header y pondremos las bandas que no utilicemos a una altura de cero.
Para agrupar los registros por ciudad, añadiremos un nuevo grupo Add Report Group. Esta opción la podemos encontrar en panel Report Inspector si accedemos al menú contextual sobre el nodo raíz, como puede verse en la siguiente imagen:
Crearemos un nuevo grupo, denominado Ciudad, para agrupar por el campo Ciudad. Pulsaremos Siguiente y activaremos las opciones Add the group header y Add the group footer para añadir las bandas de encabezado y pie de grupo.
Las dos nuevas bandas (encabezado y pie de grupo) aparecerán en la ventana diseño, y los nodos correspondientes se añadirán a la estructura del informe en la vista de esquema.
Arrastramos el campo Ciudad, a la banda encabezado de grupo, podemos modificar su tamaño, transparencia y color de fondo (modificando los valores de las propiedades width, height, opaque y backcolor). Con esto conseguimos que aparezca el nombre de cada ciudad al comienzo de cada grupo.
Arrastramos el campo Ciudad al pie de grupo indicando que queremos utilizar la función de contar (COUNT). Podemos conseguir que los valores aparezcan de color azul, lo seleccionamos y modificamos la propiedad ForeColor.
El diseño final tendrá el siguiente aspecto: