Jump to content
laboss

Preencher ComboBox datagridview

Recommended Posts

laboss

Boas ppl eu criei uma dgv num form e criei as colunas todas a mao porem quero popular uma combobox e nao estou a conseguir, nao da nenhum erro mas nao preenche nda :S o codigo e este:

Private Sub CarregarUnidades()
        Dim coluna As DataGridViewComboBoxColumn = DirectCast(dgvMovimentos.Columns(5), DataGridViewComboBoxColumn)
        With coluna 
            .DataSource = Core.Produtos.CarregarUnidadesDataTable
            .DisplayMember = "UN_Desc"
            .ValueMember = "UN_Codigo"
        End With

    End Sub

e chamo esse sub no form_load mas nada acontece :thumbsup:

Cumps

Share this post


Link to post
Share on other sites
Caça

Podes fazer isso logo directo, basta definires o DataSource directamente na combobox


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
laboss

Mas o datasource neste casso e um procedimento não existe nenhum dataset no formulario, e tudo criado a mau ve a funçao :

Core.Produtos.CarregarUnidadesDataTable

            Try
                Dim Ligacao As New SqlConnection(ConnectionString)
                Dim Comando As New SqlCommand
                With Comando
                    .CommandText = "SELECT UN_ID, UN_Codigo, UN_Desc FROM ProdutosUnidades ORDER BY UN_Codigo ASC"
                    .Connection = Ligacao
                End With
                Ligacao.Open()

                Dim DataReader As SqlDataReader = Comando.ExecuteReader
                Dim DataTable As New DataTable
                DataTable.Load(DataReader)

                Return DataTable
            Catch ex As Exception
                Return New DataTable
            End Try

Share this post


Link to post
Share on other sites
Caça

O que eu queria dizer era

DirectCast(dgvMovimentos.Columns(5), DataGridViewComboBoxColumn).DataSource = Core.Produtos.CarregarUnidadesDataTable
DirectCast(dgvMovimentos.Columns(5), DataGridViewComboBoxColumn).DisplayMember = "UN_Desc"
DirectCast(dgvMovimentos.Columns(5), DataGridViewComboBoxColumn).ValueMember = "UN_Codigo"

Não testei mas deve funcionar

Mas também não precisas de utilizar o DirectCast, vais directamente pelo nome da coluna.


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
laboss

Directamente pelo nome da coluna não consigo defenir o datasource, porque que o código não funciona com o block with?

Share this post


Link to post
Share on other sites
laboss

Ja ta a funcionar com o procedimento e com o bloco with não mudei o código só meti a chamada do procedimento quando habilito a dgv

Obrigado Caça

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.