none
¿como ordenar los datos de 2 datagridview en una sola fila en otro datagridview? RRS feed

  • Pregunta

  • este es nuestro codigo pasa los datos seleccionados en la columna seleccionar(checkbox) y al darle click al boton agregar se pasa a la tabla de abajo, ahora cuando seleccionamos 1 dato de DGV1 y 3 se pasan al DGV2 pero se pasan en 2 filas diferentes y lo que queremos hacer es que se queden en una sola fila ordenada por sus respectivos campos

    Imports MySql.Data.MySqlClient
    Imports System.Collections.Generic
    Imports System.ComponentModel
    Imports System.Data
    Imports System.Drawing
    Imports System.Linq
    Imports System.Text
    Imports System.Windows.Forms
    Partial Public Class Plantilla2
        Inherits Form

        Dim ServerString As String = "Server=localhost;User=root;Password=;Database=ccapacitacion"
        Dim SQLConnection As MySqlConnection = New MySqlConnection

        Public Sub New()
            InitializeComponent()
        End Sub

        ' Agregue cualquier inicialización después de la llamada a InitializeComponent().


        Private Sub Plantilla2_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            SQLConnection.ConnectionString = ServerString

            Try
                If SQLConnection.State = ConnectionState.Closed Then
                    SQLConnection.Open()

                    Dim DA As New MySqlDataAdapter("SELECT CC_Nombre,CC_Apellido_Paterno,CC_Apellido_Materno FROM cc_datos_personales", ServerString)
                    Dim DT As New DataTable
                    DA.Fill(DT)
                    DataGridView1.DataSource = DT

                    Dim DAt As New MySqlDataAdapter("SELECT CC_Id_Curso,CC_Nombre FROM cc_cursos_capacitacion", ServerString)
                    Dim DTb As New DataTable
                    DAt.Fill(DTb)
                    DataGridView3.DataSource = DTb

                Else
                    SQLConnection.Close()

                End If
            Catch ex As Exception
                MsgBox(ex.ToString)
            End Try
        End Sub

        Private Sub DataGridView1_CellContentClick(sender As System.Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick

        End Sub

        Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
            '
            ' Se define una lista temporal de registro seleccionados
            '
            Dim rowSelected As New List(Of DataGridViewRow)()
            For Each row As DataGridViewRow In DataGridView1.Rows
                '
                ' Se recupera el campo que representa el checkbox, y se valida la seleccion
                ' agregandola a la lista temporal
                '
                Dim cellSelecion As DataGridViewCheckBoxCell = TryCast(row.Cells("Column1"), DataGridViewCheckBoxCell)

                If Convert.ToBoolean(cellSelecion.Value) Then
                    rowSelected.Add(row)
                End If
            Next


            '
            ' Se agrega el item seleccionado a la grilla de destino
            ' eliminando la fila de la grilla original
            '
            For Each row As DataGridViewRow In rowSelected
                DataGridView2.Rows.Add(New Object() {False, row.Cells("CC_Nombre").Value, row.Cells("CC_Apellido_Paterno").Value, row.Cells("CC_Apellido_Materno").Value})

                DataGridView1.Rows.Remove(row)
                'Copiar los elementos seleccionados del DGV1 al DGV2

                '  determinar la direccion de copiar entre DGV1 y 2
            Next
        End Sub

        Private Sub DataGridView2_CellContentClick(sender As System.Object, e As System.Windows.Forms.DataGridViewCellEventArgs)

        End Sub

        Private Sub Button4_Click(sender As System.Object, e As System.EventArgs) Handles Button4.Click
            '
            ' Se define una lista temporal de registro seleccionados
            '
            Dim rowSelected As New List(Of DataGridViewRow)()

            '
            ' Se recorre ca registro de la grilla de origen
            '
            For Each row As DataGridViewRow In DataGridView3.Rows
                '
                ' Se recupera el campo que representa el checkbox, y se valida la seleccion
                ' agregandola a la lista temporal
                '
                Dim cellSelecion As DataGridViewCheckBoxCell = TryCast(row.Cells("Column3"), DataGridViewCheckBoxCell)

                If Convert.ToBoolean(cellSelecion.Value) Then
                    rowSelected.Add(row)
                End If
            Next

            '
            ' Se agrega el item seleccionado a la grilla de destino
            ' eliminando la fila de la grilla original
            '
            For Each row As DataGridViewRow In rowSelected
                DataGridView2.Rows.Add(New Object() {False, row.Cells("CC_Id_Curso").Value, row.Cells("CC_Nombre").Value})

                DataGridView3.Rows.Remove(row)
                'Copiar los elementos seleccionados del DGV1 al DGV2

                '  determinar la direccion de copiar entre DGV1 y 2
            Next
        End Sub
    End Class



    • Editado AlexXx4 miércoles, 17 de julio de 2013 18:19
    • Cambiado Enrique M. Montejo miércoles, 15 de enero de 2014 12:08 Controles de Windows Forms
    miércoles, 17 de julio de 2013 17:15