none
No se puede establecer la propiedad ColumnCount en control enlazado a datos RRS feed

  • 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

    domingo, 28 de febrero de 2021 3:36

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
    domingo, 28 de febrero de 2021 8:19

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
    domingo, 28 de febrero de 2021 8:19
  • Lo que pasa es que Primero cargo todo el contenido de la base dentro del GridRentas y  luego seleciono de ese mismo solo 9 de los 18 campos y los paso al Grid Seguimiento. pero me manda ese error.

    domingo, 28 de febrero de 2021 17:05
  • 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
    domingo, 28 de febrero de 2021 23:54
  • 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.

    lunes, 1 de marzo de 2021 16:03
    Moderador
  • Perfecto muchas Gracias

    Saludos

    miércoles, 3 de marzo de 2021 2:14