none
Agregar Columna ComboBox a DatagridView ? RRS feed

  • Pregunta

  • Hola

    Cargo un DataGridView con un DataTable luego agrego algunas columnas en tiempo de ejecucion

    ahora deseo agregar una columna combo con Item1 , Item2 a la grilla---

    Como se hace esto ??'


    EFRAIN MEJIAS C VALENCIA - VENEZUELA

    miércoles, 15 de mayo de 2013 3:53

Respuestas

  • Hola se puede hacer en modo de diseño como esta imagen lo idica:

    selecionas el datagrid y escoges la opcion para editar las columnas o crearlas

    de ahi escoges las que quieres convertir en combobox y buscas la propiedad columnType despliegas y eliges datagridviewComboBoxColumn das aceptar y listo...

    y para poder llenarlo solo haces un metodo con una consulta algo parecido a esto:

    Sub codigocombo()
    
            Dim string_conexion As String = "Data Source=ashley;Initial Catalog=OpticaBarraquel;Integrated Security=True"
            Dim sqlcon As New SqlConnection(string_conexion)
            sqlcon.Open()
            Dim da As SqlDataAdapter
            Dim ds As New DataSet
            da = New SqlDataAdapter("SELECT * FROM PRODUCTO", sqlcon)
            da.Fill(ds, "PRODUCTO")
            Dim dgccomboCodigo As DataGridViewComboBoxColumn = TryCast(FACTURADataGridView.Columns("CODIGO_PRODUCTO"), DataGridViewComboBoxColumn)
            dgccomboCodigo.DataSource = ds.Tables.Item("PRODUCTO")
            dgccomboCodigo.DisplayMember = "CODIGO_PRODUCTO"
            sqlcon.Close()
    
        End Sub
    
     Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    
            codigocombo()
    
        End Sub

    y lo llamas en el evento load de tu form y listo

    de ahi si quieres que te aparescan los datos segun tu elección tambien te puedo decir como hacerlo.... solo pidelo si es que necesitas ayuda...

    suerte y saludos

    miércoles, 15 de mayo de 2013 4:31

Todas las respuestas

  • Hola se puede hacer en modo de diseño como esta imagen lo idica:

    selecionas el datagrid y escoges la opcion para editar las columnas o crearlas

    de ahi escoges las que quieres convertir en combobox y buscas la propiedad columnType despliegas y eliges datagridviewComboBoxColumn das aceptar y listo...

    y para poder llenarlo solo haces un metodo con una consulta algo parecido a esto:

    Sub codigocombo()
    
            Dim string_conexion As String = "Data Source=ashley;Initial Catalog=OpticaBarraquel;Integrated Security=True"
            Dim sqlcon As New SqlConnection(string_conexion)
            sqlcon.Open()
            Dim da As SqlDataAdapter
            Dim ds As New DataSet
            da = New SqlDataAdapter("SELECT * FROM PRODUCTO", sqlcon)
            da.Fill(ds, "PRODUCTO")
            Dim dgccomboCodigo As DataGridViewComboBoxColumn = TryCast(FACTURADataGridView.Columns("CODIGO_PRODUCTO"), DataGridViewComboBoxColumn)
            dgccomboCodigo.DataSource = ds.Tables.Item("PRODUCTO")
            dgccomboCodigo.DisplayMember = "CODIGO_PRODUCTO"
            sqlcon.Close()
    
        End Sub
    
     Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    
            codigocombo()
    
        End Sub

    y lo llamas en el evento load de tu form y listo

    de ahi si quieres que te aparescan los datos segun tu elección tambien te puedo decir como hacerlo.... solo pidelo si es que necesitas ayuda...

    suerte y saludos

    miércoles, 15 de mayo de 2013 4:31
  • hola

    pero desde codigo es que creas las columnas ? porque si es asi crear una del tipo textbox o culquier otro tipo es la misma tecnica

    solo creas la instancia de la columna

    Dim colcombo As New DataGridViewComboBoxColumn

    y la agregas a al coleccion

    DataGridView1.Rows.Add(colcombo)

    por supuesto en emdio completas las propiedades que usarias si la defines en tiempo de diseño, esa parte no cambia, digo porque una columna del tipo combo habias definido anteriormente, no ?

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    miércoles, 15 de mayo de 2013 4:47
  • hola buen dia, disculpa me pudieras explicar un poco mas a detalle la parte donde dice trycast

    gracias, saludos

    jueves, 20 de agosto de 2015 17:46