none
como agrupo empleados por departamento en un DataGridView de visual basic 2010 RRS feed

  • Pregunta

  • como agrupo empleados por departamento en un DataGridView y que cada seccion le ponga el titulo del departamento resaltandolo con un color y además que cuando cargue la lista no la despliegue en una sola columna si no que le de continuidad ala siguiente, como se muestra en la imagen .

    saludos espero y me puedan ayudar.imagen de como quiero  que se comporte el datagrid

    • Cambiado Enrique M. Montejo lunes, 13 de octubre de 2014 6:03 Pregunta relacionada con controles de Windows Forms.
    jueves, 9 de octubre de 2014 15:25

Todas las respuestas

  • Suponiendo que tienes dos tablas Deparpatamentos y Empleados, create un query de la siguiente manera:

    'REALIZO LA CONEXION CON LA BD OJO QUE AQUI LA FORMA QUE TU USES
    
    Using conn As New SqlConnection(ConfigurationManager.ConnectionStrings("default").ToString())
                    conn.Open() 'este es el string de conexion usando un appconfig
    
    DIM Query as String = "SELECT X.IdEmpleado, X.NombreEmpleado, Y.IdDepartamento FROM Empleado X " & _
    
                                      "INNER JOIN DEPARTAMENTO Y ON Y.IdDepartamento = X.IdDepartamento " & _
    
                                       "GROUP BY X.IdDepartamento"
    
    DIM cmd as New SqlCommmand = (Query, Conn)
    
    'creamos un dataadapter y un datatable
    
    Dim da as new SqlDataAdapter(cmd)
    
    dim dt as new DataTable()
    
    da.Fill(dt)
    
    tugrilla.datasource = dt

    Ahora para colorear segun el departamento asi

     Private Sub tugrilla_CellFormatting(sender As Object, e As DataGridViewCellFormattingEventArgs) Handles tugrilla.CellFormatting
            For Each row As DataGridViewRow In tugrilla.Rows
    
                Dim IdDepartamento As Integer
    
    
                IdDepartamento = row.Cells("IdDepartamento").Value
    
    
                If IdDepartamento =  IdDepartamento Then
                    row.DefaultCellStyle.BackColor = Color.RoyalBlue
                Else
                    row.DefaultCellStyle.BackColor = Color.White
    
                End If
    
            Next
    
        End Sub

    espero te sirva


    DJINVACION

    jueves, 9 de octubre de 2014 15:59
  • ya cargo los datos en un datagridview pero lo que  ma aparece es asi

    Nombre Empleado  Departamento

    pedro                      contabilidad

    juan                        contabilidad

    José                       Vigilancia

    lo que quiero es que me aparezcan asi

    contabilidad

    pedro                     

    juan                      

    Vigilancia

    José             

    espero y me entiendan saludos.         

    viernes, 10 de octubre de 2014 16:58