Foros del Web » Programación para mayores de 30 ;) » .NET »

registros en itextsharp

Estas en el tema de registros en itextsharp en el foro de .NET en Foros del Web. Hola foreros ! Estoy iniciandome con la libreria itextsharp y bueno a la hora de mostrar los datos tengo algunos problemas. Tengo un listado de ...
  #1 (permalink)  
Antiguo 12/02/2011, 09:05
 
Fecha de Ingreso: julio-2008
Mensajes: 5
Antigüedad: 16 años, 5 meses
Puntos: 0
Pregunta registros en itextsharp

Hola foreros !

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:
'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()
Agradeceria muchisimo si me pudieseis ayudar o decirme que puedo hacer para que me agrupe los empleados de un mismo departamento. Un saludo !
  #2 (permalink)  
Antiguo 01/12/2011, 12:15
Avatar de drako_darpan  
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 16 años, 2 meses
Puntos: 58
Respuesta: registros en itextsharp

Lo que puedes hacer es poner en la cosulta el GROUP BY, asi la información te la traeria ya agrupada desde la consulta.

Etiquetas: itextsharp, registros
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:01.