Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: marc85 en 14 Diciembre 2017, 16:28 pm



Título: Combobox detntro de un datagridview en vb.net 2015
Publicado por: marc85 en 14 Diciembre 2017, 16:28 pm
Gracias de antemano

tengo una consulta que me genera 2 columnas como resultado la primera es de tipo String y la otra integer, yo puedo cargar las dos columnas en el datagridview pero lo que deseo es que la segunda columna me cargue en un comboBox. No tengo idea de cómo hacerlo, gracias de antemano


Título: Re: Combobox detntro de un datagridview en vb.net 2015
Publicado por: kingk en 21 Diciembre 2017, 04:59 am
Hola, puedes agregar un ComboBox de la siguiente forma:
En la propiedad Columns del DataGridView, selecciona la
columna cuyas celdas desees tengan ComboBox, y en sus
propiedades buscas la propiedad: ColumnType y lo cambias
a DataGridViewComboBoxColumn. Luego para agregar los items
de los ComboBox el codigo seria asi:
   Dim combobox As DataGridViewComboBoxCell
        combobox= DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells(1)
        combobox.Items.Add("Item1")
        combobox.Items.Add("Item2")
        combobox.Items.Add("Item3")
   
Espero que sea lo que buscas.


Título: Re: Combobox detntro de un datagridview en vb.net 2015
Publicado por: SBoss28 en 12 Enero 2018, 11:23 am
A ver amigo, lo que logro comprender en tu consulta es que haces una consulta a BD, la cual te arroja dos resultados, la lógica me indica que la segunda columna es una especie de código de otra tabla en la BD, si es así, lo que tu quieres hacer es mostrar varias opciones en una columna.

Sí eso es lo que quieres podrías utilizar los controles de tipo Binding que trae .Net, convierte esa columna en una de tipo ComboBox desde las opciones de "Editar Columnas" o "Edit Columns" (dependiendo el idioma) en las opciones del dgv, en las mismo cuadro buscas la opción "DataSource" en el Apartado "Data" y seleccionas el origen de datos. En los Apartados "Display Member" y "Value Member" asignas lo que vas a mostrar, y el valor que tendrá, respectivamente.

Espero te sirva.