Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rafael Spessotto

[Resolvido] Problema com combobox!

Recommended Posts

Ola pessoal, estou com um problema que esta me deixando meio louco..haha (mais...)

 

Bom eu estou simplesmente carregando um combobox e quero pegar o valor selecionado nele...o problema e que quando seleciono o combobox ele me traz o valor em branco..Estranho ne..

Olhem meu codigo plis...

 


   Public Sub CarregaGenero()
        Dim generoreader As OleDbDataReader
        Dim cmd As New OleDbCommand
        Dim dt As New DataTable

        cmd.Connection = conn
        cmd.CommandText = "SELECT * FROM TB_GENERO ORDER BY NOMEG"

        generoreader = cmd.ExecuteReader(CommandBehavior.Default)
        dt.Load(generoreader)
        Try
            With cboGenero
                .DataSource = dt
                .DisplayMember = "NOMEG"
                .ValueMember = "COD_GENERO"
            End With
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

aí, quando eu seleciono um item:

 

  Private Sub cboGenero_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboGenero.SelectedIndexChanged
        If Not cboGenero.SelectedText.ToString = "" Then
            CarregaB(cboGenero.SelectedValue)
            var_codgen = cboGenero.SelectedIndex
            butAddB.Enabled = True
        Else
            butAddB.Enabled = False
        End If
    End Sub

O fogo é que quando ele carrega o combo, ele passa por esse evento, e no caso o "SelectedText" esta em branco..Por eqto tudo certo...

 

Mas qdo seleciono um item, o "cboGenero.SelectedText.ToString" retorna em branco!!! Porque ele nao retorna o item que eu selecionei...

 

esse negocio de combobox é meio confuso!

 

 

 

plis help me...

 

Rafael S.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola pessoal, estou com um problema que esta me deixando meio louco..haha (mais...)

 

Bom eu estou simplesmente carregando um combobox e quero pegar o valor selecionado nele...o problema e que quando seleciono o combobox ele me traz o valor em branco..Estranho ne..

Olhem meu codigo plis...

 


   Public Sub CarregaGenero()
        Dim generoreader As OleDbDataReader
        Dim cmd As New OleDbCommand
        Dim dt As New DataTable

        cmd.Connection = conn
        cmd.CommandText = "SELECT * FROM TB_GENERO ORDER BY NOMEG"

        generoreader = cmd.ExecuteReader(CommandBehavior.Default)
        dt.Load(generoreader)
        Try
            With cboGenero
                .DataSource = dt
                .DisplayMember = "NOMEG"
                .ValueMember = "COD_GENERO"
            End With
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

aí, quando eu seleciono um item:

 

  Private Sub cboGenero_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboGenero.SelectedIndexChanged
        If Not cboGenero.SelectedText.ToString = "" Then
            CarregaB(cboGenero.SelectedValue)
            var_codgen = cboGenero.SelectedIndex
            butAddB.Enabled = True
        Else
            butAddB.Enabled = False
        End If
    End Sub

O fogo é que quando ele carrega o combo, ele passa por esse evento, e no caso o "SelectedText" esta em branco..Por eqto tudo certo...

 

Mas qdo seleciono um item, o "cboGenero.SelectedText.ToString" retorna em branco!!! Porque ele nao retorna o item que eu selecionei...

 

esse negocio de combobox é meio confuso!

 

 

 

plis help me...

 

Rafael S.

 

você deve usar combo.Text ao invez de combo.SelectedText.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ae Danimar, obrigado pela resposta... so que quando eu mudo para .text, o meu problema muda... Agora quando eu preciso pegar o valor do item selecionado do combo (que seria o codigo dele) ele me retorna "System.Data.DataRowView"... O que faço para pegar o value desse item ?

 

valewzao!

 

Rafael Spessotto

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ae Danimar, obrigado pela resposta... so que quando eu mudo para .text, o meu problema muda... Agora quando eu preciso pegar o valor do item selecionado do combo (que seria o codigo dele) ele me retorna "System.Data.DataRowView"... O que faço para pegar o value desse item ?

 

valewzao!

 

Rafael Spessotto

 

você pode pegar o valor que você quiser assim:

 

Dim row As System.Data.DataRowView = combo.SelectedItem

dim valor = row.Item("NomeDaColunaNobanco")

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.