Si tu problema ha sido el darle el origen de los datos a una columna de tipo DataGridViewComboBoxColumn aquí esta una funional solución, primero que nada, cree las colunas desde las propiedades del grid agregar columnas pero en este ejemplo te mostrare como rear directamente la columna y agregarle un datasource.
El siguiente codigo debes utilizarlo en el evento load ya que este evento se realiza cuando carga y muestra la tabla por lo que el origen o llenado de datos del comboBox debes hacerlo desde este vento.
' Creamos una columna tipo DataGridViewComboBoxColumn, el 11 indica la posicion de la columna
Dim col As DataGridViewColumn = Me.Grid1.Columns(11)
Dim comboColumn As New DataGridViewComboBoxColumn
' Configuramos la columna tipo ComboBox
comboColumn.HeaderText = col.HeaderText
comboColumn.HeaderText = col.HeaderText
comboColumn.DropDownWidth = 260
comboColumn.Width = col.Width
' el objeto DataTable que utilizaremos para rellenar los datos
comboColumn.DataSource = objconec.TablaConsulta("SELECT concat(Cnit_prov,'-',Cnom_com_prov) as proveedor,Cnit_prov as NIT FROM proveedor;")
'Si te fijas el Datasourse unicamente llamo a un metodo delarado dentro de una lase externa el cual compartire en otra ocuación no te preocupes puedes crear tu DataTable en lugar de esta funcion.
comboColumn.DisplayMember = "proveedor"
'Dato que se mostrara
'Si te fijas el Datasourse unicamente llamo a un metodo delarado dentro de una lase externa el cual compartire en otra ocuación no te preocupes puedes crear tu DataTable en lugar de esta funcion.
comboColumn.DisplayMember = "proveedor"
'Dato que se mostrara
comboColumn.ValueMember = "NIT"
'valor q tomara
'valor q tomara
' Eliminamos la columna tipo DataGridViewTextBoxColumn
Me.Grid1.Columns.Remove(col)
' Insertamos la nueva columna en la posición 11
Grid1.Columns.Insert(11, comboColumn)
Si la columna no es eliminada tendras 2 columnas, una sin origen de datos ok.
Si la columna no es eliminada tendras 2 columnas, una sin origen de datos ok.
No hay comentarios:
Publicar un comentario