Usuario
Copiar fila seleccionada de DataGridView1 a DataGridView2

Pregunta
-
Necesito copiar la fila seleccionada de DataGridView1 a DataGridView2 y luego eliminarla de DataGridView1. Adjunto el código desarrollado que está mal porqué me copia siempre la primera fila activa. Gracias por su apoyo.
Private Sub TextBox2_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox2.KeyPress For i As Integer = 0 To DataGridView1.Rows.Count - 2 For x As Integer = 0 To DataGridView1.ColumnCount - 1 If DataGridView1.Rows(i).Cells(x).Value.ToString.Contains(TextBox2.Text) Then DataGridView1.Rows(i).Selected = True Dim Col1 As String = DataGridView1.Rows(i).Cells(0).Value Dim Col2 As String = DataGridView1.Rows(i).Cells(1).Value Dim Col3 As String = DataGridView1.Rows(i).Cells(2).Value Dim Col4 As String = DataGridView1.Rows(i).Cells(3).Value DataGridView2.Rows.Add(Col1, Col2, Col3, Col4) For Each r As DataGridViewRow In DataGridView1.SelectedRows DataGridView1.Rows.Remove(r) Next DataGridView1.ClearSelection() Exit Sub End If Next x Next i MsgBox("Error de Picking") TextBox2.Text = "" End Sub
Todas las respuestas
-
hola micky
En este blog de @LeandroTuttini explica como realizar el paso de datos de un datagrid a otro datagrid es facil de implementar peroo.... esta en c# http://ltuttini.blogspot.com/2010/04/datagridview-pasar-registros-entre.html
creo que si utilizas convertir c# a vb de telerik http://converter.telerik.com/
- Propuesto como respuesta Diana AcuñaModerator lunes, 3 de febrero de 2020 16:07
-
Hola:
En un Form como el de la imagen
Copia y pega el siguiente codigo
Option Strict On
Option Explicit On
Imports System.Data.SqlClientPublic Class Form3
Private msCadenaSQL As String = "Data Source=.\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True"Private Sub Form3_Load(sender As Object, e As EventArgs) Handles Me.Load
DataGridView1.AllowUserToAddRows = False
DataGridView2.AllowUserToAddRows = False
Try
' Configuramos una conexión con el origen de datos.
Using loConexion As New SqlConnection(msCadenaSQL)
' crear adaptador
Dim daCustomers As New SqlDataAdapter("SELECT CustomerID, CompanyName FROM Customers", loConexion)
Dim loDataTable As New DataTable
daCustomers.Fill(loDataTable)
Me.DataGridView1.DataSource = loDataTable
End Using
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
'Clonar o reproducir la estructura de DataGridView1 en DataGridView2
Me.DataGridView2.ColumnCount = Me.DataGridView1.ColumnCount
For x As Integer = 0 To Me.DataGridView1.ColumnCount - 1
Me.DataGridView2.Columns(x).Name = Me.DataGridView1.Columns(x).Name
Me.DataGridView2.Columns(x).HeaderText = Me.DataGridView1.Columns(x).HeaderText
Next
End SubPrivate Sub DataGridView1_CellClick(sender As Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
If e.RowIndex = -1 Then
Return
End If
Dim loFila As DataGridViewRow = Me.DataGridView1.CurrentRow()
'Dimensionar el array al tamaño de columnas del DGV
Dim Contenido(Me.DataGridView1.ColumnCount - 1) As String
'Rellenar el contenido con el valor de las celdas de la fila
For Ndx As Integer = 0 To Contenido.Length - 1
Contenido(Ndx) = CStr(loFila.Cells(Ndx).Value)
Next
Me.DataGridView2.Rows.Add(Contenido)
Me.DataGridView1.Rows.Remove(loFila)
End Sub
End ClassUn saludo desde Bilbo
Carlos- Propuesto como respuesta Diana AcuñaModerator lunes, 3 de febrero de 2020 16:07