Estoy iniciandome con la libreria itextsharp y bueno a la hora de mostrar los datos tengo algunos problemas. Tengo un listado de empleados por departamento, donde se me muestra una tabla con dos celdas, la de arriba (colspan=2) me muestra el nombreDepartamento, y abajo me muestra los empleados que pertenecen a ese departamento y un telefono de contacto.Hasta ahi bien.
Pero me surge una dificultad. En una mismo departamento puede haber más de un registro, es decir, empleado en este caso. ¿Cómo puedo agruparlos y que me los muestre juntos? , en vez de separado ? , Hasta ahora me muestra por cada departamento un registro, pero hay tiendas que tienes mas de un registro. ¿me explico?
Lo que quiero es que me muestren los registros agrupados, que me muestre los empleados juntos que pertenecen a un mismo departamento
Ahora se me muestra asi
Departamento 1
Empleado 1 - telefono
Departamento 2
Empleado 1 - telefono
Departamento 1
Empleado 2 - telefono
Y quiero que no se comporte asi, que me muestre todos los del departamento 1 juntos !
He hecho pruebas creando una query nueva en el While datareader.Read() , pero no funciona, o no hago dl modo correcto.
El codigo que funciona juntando los registros es el siguiente:
Código:
Agradeceria muchisimo si me pudieseis ayudar o decirme que puedo hacer para que me agrupe los empleados de un mismo departamento. Un saludo ! 'tabla para datos Dim tabla As New PdfPTable(2) tabla.SpacingAfter = 50.0F tabla.DefaultCell.Border = 0 table.TotalWidth = 100 Dim cnn As New SqlConnection(cadenaBBDD) Dim query As String = "SELECT departamentos.nombreDepartamento, empleados.nombre, empleados.telefono FROM departamentos INNER JOIN empleados ON departamentos.codDepartamento = empleados.codDepartamento" Dim cmd As New SqlCommand(query, cnn) Try cnn.Open() Using reader As SqlDataReader = cmd.ExecuteReader() While reader.Read() Dim celldepartamento As New PdfPCell(New Phrase(reader(0).ToString(), FontFactory.GetFont(FontFactory.HELVETICA_OBLIQUE, size:=14, style:=iTextSharp.text.Font.NORMAL, color:=miColor))) celldepartamento.Colspan = 2 celldepartamento.Border = 0 celldepartamento.HorizontalAlignment = Element.ALIGN_LEFT tabla.AddCell(celldepartamento) Dim cellempleado As New PdfPCell(New Phrase(reader(1).ToString(), FontFactory.GetFont(FontFactory.HELVETICA_OBLIQUE, size:=12, style:=iTextSharp.text.Font.NORMAL))) cellempleado.Border = 0 cellempleado.VerticalAlignment = Element.ALIGN_MIDDLE tabla.AddCell(cellempleado) Dim celltelefono As New PdfPCell(New Phrase(reader(2).ToString(), FontFactory.GetFont(FontFactory.HELVETICA_OBLIQUE, size:=12, style:=iTextSharp.text.Font.NORMAL))) celltelefono.Border = 0 celltelefono.HorizontalAlignment = Element.ALIGN_RIGHT tabla.AddCell(celltelefono) End While End Using Catch ex As Exception MsgBox(ex.Message) End Try documento.Add(tabla) ' Cerramos el documento, ya estará en nuestro disco guardado documento.Close()