Estou tentando criar meu DataGridView com uma coluna tipo ComboBox.
Eu consigo criar essa coluna, mas essa coluna não traz nenhum dado quando eu carrego o grid, traz apenas os combos populados. Como eu faço para resolver isso?
Public Sub CarregarBarcos()TrydtgBarcos.Columns.Clear()
gpbBarcos.Text =
"Barcos do cliente: " & txtNome.TextvarStr_Sql =
NothingvarStr_Sql =
"SELECT tbl_barcos_clientes.cod_barco_cliente, tbl_barcos_clientes.cod_barco, tbl_barcos.modelo, tbl_barcos_clientes.nome_barco FROM tbl_barcos INNER JOIN tbl_barcos_clientes ON tbl_barcos.cod_barco = tbl_barcos_clientes.cod_barco WHERE (((tbl_barcos_clientes.cod_cliente) = " & txtCodCliente.Text & ")) ORDER BY tbl_barcos.modelo"dtAdapterBarcos =
New OleDb.OleDbDataAdapter(varStr_Sql, conConexao)dtTableBarcos =
New DataTabledtAdapterBarcos.Fill(dtTableBarcos)
dtgBarcos.DataSource = dtTableBarcos
Dim dtAdapterListaBarcos As OleDb.OleDbDataAdapterDim dtTableListaBarcos As DataTablevarStr_Sql =
NothingvarStr_Sql =
"SELECT cod_barco, modelo FROM tbl_barcos ORDER BY modelo"dtAdapterListaBarcos =
New OleDb.OleDbDataAdapter(varStr_Sql, conConexao)dtTableListaBarcos =
New DataTabledtAdapterListaBarcos.Fill(dtTableListaBarcos)
Dim colunaModeloComboBox As New DataGridViewComboBoxColumncolunaModeloComboBox.DataSource = dtTableListaBarcos
colunaModeloComboBox.DisplayMember =
"modelo"colunaModeloComboBox.ValueMember =
"cod_barco"dtgBarcos.Columns.Insert(2, colunaModeloComboBox)
FormatarColunasGrid_Barcos()
Catch ex As ExceptionMsgBox(
"Ocorreu um erro ao carregar os barcos." & vbCrLf & vbCrLf & "Erro: " & ex.ToString, MsgBoxStyle.Critical, "Sistema SPClean - Mensagem")End TryEnd SubPrivate Sub FormatarColunasGrid_Barcos()TrydtgBarcos.Columns(0).Width = 50
dtgBarcos.Columns(0).HeaderText =
"Cód. In."dtgBarcos.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
dtgBarcos.Columns(1).Width = 50
dtgBarcos.Columns(1).HeaderText =
"Cód. Barco"dtgBarcos.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
dtgBarcos.Columns(2).Width = 190
dtgBarcos.Columns(2).HeaderText =
"Modelo"dtgBarcos.Columns(4).Width = 150
dtgBarcos.Columns(4).HeaderText =
"Nome Barco"Catch ex As ExceptionMsgBox(
"Ocorreu um erro ao formatar as colunas do grid." & vbCrLf & vbCrLf & "Erro: " & ex.ToString, MsgBoxStyle.Critical, "Sistema SPClean - Mensagem")End TryEnd Sub