Llenar Combo DGV
Llenar Combo DGV
Llenar Combo DGV
Net
Problemas y soluciones en Visual Basic Punto Net Llenar el campo DataGridViewComboBoxColumn desde base de datos
Una columna combo se trabaja de forma diferernte a una columna texto, primero se tiene que llenar los items que tendr el combo antes de pasar toda la informacin. Existen varias maneras de llenar el campo combo. De forma manual ingresando los items en modo de edicin, o con un proceso sencillo en modo de ejecucin. Desgraciadamente, para mi ejemplo, no puedo usar ninguna de las maneras anteriores, puesto que necesito llenar el combo, con los datos de otra tabla. As que tuve que crear mi propio proceso. 1 2 Private Sub cargar_DataCombo(ByVal dv As DataGridView) Dim adapter As New SqlDataAdapter 3 4 'La variable args contiene la cadena de conexin, llenada anteriormente. 5 'No lo explico aqu porque es otro problema aparte 6 Using connection As SqlConnection = New SqlConnection(args) 7 adapter = New SqlDataAdapter(select campo_codigo, campo_descripcion 8 from tabla, connection) 9 'Lleno el DataTable 10 Dim dt As New DataTable() 11 adapter.Fill(dt) 12 13 'Indico la columna combo 14 Dim column As DataGridViewComboBoxColumn = _ DirectCast(dv.Columns(0), DataGridViewComboBoxColumn) 15 16 'Configuro la columna. 17 With column 18 'Origen de datos 19 .DataSource = dt 20 'Nombre del campo cuyos datos se mostraran en la columna .DisplayMember = "campo_descripcion" 21 'Nombre del campo cuyo valor se devolvera cuando se 22 seleccione un elemento. 23 .ValueMember = "campo_codigo" 24 End With 25 End Using 26End Sub 27 El proceso cargar_DataCombo debe ser llamado desde el load de la aplicacin, antes de llenar el grid con la informacin. Esto quedara ms o menos as: 1Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) 2Handles MyBase.Load cargar_DataCombo(DataGridView1) 3 'Aqui sigue el proceso de llenar los datos al grid 4End Sub