Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal Boa noite,
Estou com um problema, tenho um grid com duas colunas, uma coluna e normal vem do banco e cria as linhas, a outra coluna foi uma coluna que eu adicionei via código que e uma coluna que contem um combobox por linha.
Eu estou tentando preencher este combo com uma tabela do meu banco porem esta dando este erro:
Complex DataBinding accepts as a data source either an IList or an IListSource.
Este e a função que estou usando para preencher o combobox:
Public Function preencheCombo(ByVal combo As DataGridViewComboBoxColumn, ByVal sql As String, ByVal displaymenber As String, ByVal valuemenber As String) As DataGridViewComboBoxColumn
Try
Dim cmd As New SqlCommand
Dim tab As New DataTable
cmd.CommandText = sql
tab = retdadosTab(cmd)
combo.DataSource = tab
combo.DisplayMember = displaymenber
combo.ValueMember = valuemenber
cmd = Nothing
tab = Nothing
Return combo
Catch ex As Exception
Throw New Exception("Erro ao preencher combobox. " & ex.Message)
Finally
combo = Nothing
End Try
End Function
Quando eu elimino o datasource do combo e percorro um datatable com um for e vou dando um itens.add ai não da erro, porem não posso fazer assim pois quando alguém cadastrar um novo valor os index dos itens mudarão e ai ira mudar os valores já cadastrados no banco.
Alguem já precisou fazer isso?
Public Function preencheCombo(ByVal combo As DataGridViewComboBoxColumn, ByVal sql As String, ByVal displaymenber As String, ByVal valuemenber As String) As DataGridViewComboBoxColumn
Try
Dim cmd As New SqlCommand
Dim tab As New DataTable
cmd.CommandText = sql
tab = retdadosTab(cmd)
combo.DataSource = tab
combo.DisplayMember = displaymenber
combo.ValueMember = valuemenber
cmd = Nothing
tab = Nothing
Return combo
Catch ex As Exception
Throw New Exception("Erro ao preencher combobox. " & ex.Message)
Finally
combo = Nothing
End Try
End Function
O código ficou bagunçado estou postando de novo.
Carregando comentários...