none
Agregar columna en datagridview y llenarla con valor de textbox RRS feed

  • Pregunta

  • Hola a todos les agradezco mucho por su atención, tengo un datagridview en donde muestro una tabla importada de excel mas adelante mostrare el código, ahora necesito crear una columna que no esta en la tabla de excel pero que sea creada ya que termine de cargarse la tabla o durante la carga a fin de que esa nueva columna tenga las mismas filas que la tabla original y que se llene con frase de textbox.

    Espero me hayan entendido y ojala puedan ayudarme.

    Saludos

    Sub importarExcel(ByVal tabla As DataGridView)
            Dim myFileDialog As New OpenFileDialog()
            Dim xSheet As String = ""
    
    
            With myFileDialog
                .Filter = "Excel Files |*.xlsx"
                .Title = "Open File"
                .ShowDialog()
            End With
            If myFileDialog.FileName.ToString <> "" Then
                Dim ExcelFile As String = myFileDialog.FileName.ToString
    
    
    
                Dim ds As New DataSet
                Dim da As OleDbDataAdapter
                Dim dt As DataTable
                Dim conn As OleDbConnection
    
    
    
    
                xSheet = InputBox("Digite el nombre de la Hoja que desea importar", "Complete")
                conn = New OleDbConnection( _
                                  "Provider=Microsoft.ACE.OLEDB.12.0;" & _
                                  "data source=" & ExcelFile & "; " & _
                                 "Extended Properties='Excel 12.0 Xml;HDR=Yes'")
    
                Try
                    da = New OleDbDataAdapter("SELECT * FROM  [" & xSheet & "$]", conn)
    
                    conn.Open()
                    da.Fill(ds, "MyData")
    
                    dt = limpiarFilas(ds.Tables("MyData"))
    
                    tabla.DataSource = dt
    
    
    
                Catch ex As Exception
    
    
                    MsgBox("Inserte un nombre valido de la Hoja que desea importar", MsgBoxStyle.Information, "Informacion")
                Finally
                    conn.Close()
                End Try
    
    
            End If
    
            MsgBox("Tabla cargada exitosamente", MsgBoxStyle.Information, "Importado con exito")
    
    
    
    
        End Sub


    jueves, 14 de abril de 2016 19:56

Respuestas

  • Cuando termines de cargar la tabla de excel pones al final  Grid.Cols = Grid.Cols + 1

    Espero que te sirva. Un saludo.

    • Propuesto como respuesta PGF_MSDN jueves, 12 de mayo de 2016 15:01
    • Marcado como respuesta Vilag jueves, 12 de mayo de 2016 15:02
    jueves, 12 de mayo de 2016 14:47
  • Hola:
    Despues de cargar el fichero excel en el DataGridView, añades una columna a dicho DataGridView con el siguiente procedimiento

        Private Sub lP_AddColumn()
            Dim column As New DataGridViewTextBoxColumn()
            With column
                .HeaderText = "NUEVA"
                .Name = "AÑADIDA"
                .AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells
                .CellTemplate = New DataGridViewTextBoxCell()
                .CellTemplate.Style.BackColor = Color.Beige
            End With
            'PRIMERA posicion
            DataGridView1.Columns.Insert(0, column)
        End Sub

    Un saludo desde Bilbo
    Carlos

    • Editado J. Carlos Herrero jueves, 12 de mayo de 2016 20:49
    • Marcado como respuesta Vilag jueves, 12 de mayo de 2016 20:50
    jueves, 12 de mayo de 2016 20:48

Todas las respuestas

  • Cuando termines de cargar la tabla de excel pones al final  Grid.Cols = Grid.Cols + 1

    Espero que te sirva. Un saludo.

    • Propuesto como respuesta PGF_MSDN jueves, 12 de mayo de 2016 15:01
    • Marcado como respuesta Vilag jueves, 12 de mayo de 2016 15:02
    jueves, 12 de mayo de 2016 14:47
  • Hola:
    Despues de cargar el fichero excel en el DataGridView, añades una columna a dicho DataGridView con el siguiente procedimiento

        Private Sub lP_AddColumn()
            Dim column As New DataGridViewTextBoxColumn()
            With column
                .HeaderText = "NUEVA"
                .Name = "AÑADIDA"
                .AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells
                .CellTemplate = New DataGridViewTextBoxCell()
                .CellTemplate.Style.BackColor = Color.Beige
            End With
            'PRIMERA posicion
            DataGridView1.Columns.Insert(0, column)
        End Sub

    Un saludo desde Bilbo
    Carlos

    • Editado J. Carlos Herrero jueves, 12 de mayo de 2016 20:49
    • Marcado como respuesta Vilag jueves, 12 de mayo de 2016 20:50
    jueves, 12 de mayo de 2016 20:48