Ir para conteúdo
Fórum Script Brasil
  • 0

popular combobox/listbox na "mão"


Pr0gr4m4d0r

Pergunta

estou querendo popular um combobox/listbox sem usar as propriedades datasource, display/value member, porém usando o método .items.add, ele não tem sobrecarga para q eu possa além de jogar o texto, o valor id correspondente ao item q ficaria escondido, no vb6 eu fazia assim:

combobox.add("item 1")
combobox.itemdata(combobox.newindex) = 1

como faço isso no vb.net?

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

graymalkin ou qualquer 1 q possa me ajudar a respeito dessa solução, estou conseguindo popular minha combobox e capturar o id relacionado com o item q seleciono dentro dessa minha combo, até aí tudo bem, mas uma coisa q não tinha feito antes, e q estou precisando fazer agora e não sei porque cargas d'água não funciona de jeito algum (e pior é q claro, a solução deve ser ridícula <_< ), é como eu aponto para o item dentro da minha combo através do id, pra fazer com q o item seja selecionado, simples assim:

combobox1.SelectedValue = ? (um id q vem do banco (ou valor qualquer) e q já se encontra dentro dessa combo)

meu código está assim:

Public Class clsItemData

    Public intValue As Integer
    Public strDisplay As String

    Public Sub New()
        '
    End Sub

    Public Sub New(ByVal intNewValue As Integer, ByVal strNewDisplay As String)
        Try
            intValue = intNewValue
            strDisplay = strNewDisplay
        Catch ex As Exception
            Throw
        End Try
    End Sub

    Public Overrides Function ToString() As String
        Try
            Return strDisplay
        Catch ex As Exception
            Throw
        End Try
    End Function

End Class

Public Class xyz

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
                                Dim al1 As New ArrayList

        al1.Add("")
        al1.Add(New clsItemData(1, "A"))
        al1.Add(New clsItemData(2, "B"))
        al1.Add(New clsItemData(3, "C"))

                                combobox1.DataSource = al1
        combobox1.DisplayMember = "strDisplay"
        combobox1.ValueMember = "intValue"
    End Sub

    Private Sub combobox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Combobox1.SelectedIndexChanged
        MessageBox.Show(CType(combobox1.SelectedItem, clsItemData).intValue)
        MessageBox.Show(CType(combobox1.SelectedItem, clsItemData).strDisplay)
    End Sub

    Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click
                    combobox1.SelectedValue = 2 (não aponta para o item B!)
    End Sub

End Class

Editado por Pr0gr4m4d0r
Link para o comentário
Compartilhar em outros sites

  • 0

Que eu saiba não tem como fazer isso assim não. Para tal eu percorro os itens da combo procurando pelo valor desejado. O problema no caso é que colocamos objetos dentro da combo e não valores simples, portanto ficaria difícil determinar como a combo buscaria esse tipo de objeto dentro dos itens.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...