Principales respuestas
No se puede establecer la propiedad ColumnCount en control enlazado a datos

Pregunta
-
Buenas Noches. Necesito pasar datos de un datagrid a otro en la misma forma pero me da error. haver si me pueden ayudar.. les dejo el cod:
Private Sub GridRentas_CellContentDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles GridRentas.CellContentDoubleClick
Conectar.Close()
Conectar.ConnectionString = ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Solis\Documents\BDatos\ControlInmuebles\Inmobs.mdb")
Conectar.Open()
Comando.CommandText = " SELECT Empresa, Contacto, Contacto2, Telefono, Telefono2, Extension1, Extension2, Correo1, Correo2 From Clientes"
Comando.Connection = Conectar
GridRentas.ColumnCount = 9
GridSeguimiento.Columns(0).Name = "Empresa"
GridSeguimiento.Columns(1).Name = "Contacto"
GridSeguimiento.Columns(2).Name = "Contacto2"
GridSeguimiento.Columns(3).Name = "Telefono"
GridSeguimiento.Columns(4).Name = "Telefono2"
GridSeguimiento.Columns(5).Name = "Extension1"
GridSeguimiento.Columns(6).Name = "Extension2"
GridSeguimiento.Columns(7).Name = "CorreoSeg1"
GridSeguimiento.Columns(8).Name = "CorreoSeg2"
x = Comando.ExecuteReader()
While x.Read
GridRentas.Rows.Add(x.Item("Empresa"), x.Item("Contacto"), x.Item("Contacto2"), x.Item("Telefono"), x.Item("Telefono2"), x.Item("Extension1"), x.Item("Extension2"), x.Item("Correo1"), x.Item("Correo2"))
End While
For Each row As DataGridViewRow In GridSeguimiento.SelectedRows
Dim Empresa As String = row.Cells("Empresa").Value
Dim Contacto As String = row.Cells("Contacto").Value
Dim Contacto2 As String = row.Cells("Contacto2").Value
Dim Telefono As String = row.Cells("Telefono").Value
Dim Telefono2 As String = row.Cells("Telefono2").Value
Dim Extension As String = row.Cells("Extension1").Value
Dim Extension2 As String = row.Cells("Extension2").Value
Dim CorreoSeg1 As String = row.Cells("Correo1").Value
Dim CorreoSeg2 As String = row.Cells("Correo2").Value
GridSeguimiento.Rows.Add(Empresa, Contacto, Contacto2, Telefono, Telefono2, Extension, Extension2, CorreoSeg1, CorreoSeg2)
Dim Linea As DataGridViewRow
Dim Valor As Double
For Each Linea In GridSeguimiento.Rows
Valor = Valor + Linea.Cells(3).Value
Next
Next
x.Close()
End Sub
Respuestas
-
Hola:
Si lo que quieres pasar los datos de un DataGridView a otro, porque no le pasas el datatable que carga el primer DataGridView.
En un Form con 2 DataGridView y 1 Buttton, copia y pega el siguiente codigo
Option Explicit On
Option Strict On
Imports System.Data.SqlClient
Public 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
Dim lsQuery As String = "SELECT EmployeeID, LastName, FirstName FROM Employees"
Dim dtEmployees As New DataTable
Try
Using lConexion As New SqlConnection(msCadenaSQL)
Using lDataAdapter1 As New SqlDataAdapter(lsQuery, lConexion)
lDataAdapter1.Fill(dtEmployees)
End Using
End Using
Catch ex As Exception
Me.Cursor = Cursors.Default
MessageBox.Show(ex.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Information)
End Try
dgvEmployees.DataSource = dtEmployees
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Button1.Enabled = False
Dim dtCopia As DataTable = CType(dgvEmployees.DataSource, DataTable)
dgvCopia.DataSource = dtCopia
End Sub
End Class
Un saludo desde Bilbo
Carlos- Marcado como respuesta EricRRModerator miércoles, 3 de marzo de 2021 15:07
Todas las respuestas
-
Hola:
Si lo que quieres pasar los datos de un DataGridView a otro, porque no le pasas el datatable que carga el primer DataGridView.
En un Form con 2 DataGridView y 1 Buttton, copia y pega el siguiente codigo
Option Explicit On
Option Strict On
Imports System.Data.SqlClient
Public 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
Dim lsQuery As String = "SELECT EmployeeID, LastName, FirstName FROM Employees"
Dim dtEmployees As New DataTable
Try
Using lConexion As New SqlConnection(msCadenaSQL)
Using lDataAdapter1 As New SqlDataAdapter(lsQuery, lConexion)
lDataAdapter1.Fill(dtEmployees)
End Using
End Using
Catch ex As Exception
Me.Cursor = Cursors.Default
MessageBox.Show(ex.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Information)
End Try
dgvEmployees.DataSource = dtEmployees
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Button1.Enabled = False
Dim dtCopia As DataTable = CType(dgvEmployees.DataSource, DataTable)
dgvCopia.DataSource = dtCopia
End Sub
End Class
Un saludo desde Bilbo
Carlos- Marcado como respuesta EricRRModerator miércoles, 3 de marzo de 2021 15:07
-
-
Hola:
En tu primera peticion ponias
>Necesito pasar datos de un datagrid a otro en la misma forma pero me da error<
En la segunda peticion pones
> solo 9 de los 18 campos<
Para esta peticion nueva, tendras que recorrer el datatable que carga el primer DataGridView e ir cargando un segundo datatable (que tiene 9 campos).
Despues ese segundo datatable le pones como DataSource del segundo DataGridView.
Ese trabajo te lo dejo para ti, yo ya te he dado la idea
Un saludo desde Bilbo
Carlos -
Hola,
¿Alguna novedad sobre la consulta realizada?
Gracias por usar los foros de MSDN.
Eric Ruiz
____________________________
Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.
Si tiene algún cumplido o reclamo sobre el soporte de MSDN siéntase en la libertad de contactar MSDNFSF@microsoft.com.
-