COMBOBOX
Bom dia meus caros!!
Tenho o seguinte problema, preciso carregar um combobox na mão
mas também preciso colocar um valor(ID) expecifico para cada valor adicionado
já fiz isso em asp.net e fico assi:
Me.ddl_Id_Status_Chamado.Items.Add(New ListItem([Ô]Chamado Aberto[Ô], [Ô]0-1-2-4[Ô]))
Me.ddl_Id_Status_Chamado.Items.Add(New ListItem([Ô]Chamado Fechado[Ô], [Ô]3[Ô]))
Mas agora não sei fazer isso em forms
Se alguem poder me ajudar, agradeço!
Tenho o seguinte problema, preciso carregar um combobox na mão
mas também preciso colocar um valor(ID) expecifico para cada valor adicionado
já fiz isso em asp.net e fico assi:
Me.ddl_Id_Status_Chamado.Items.Add(New ListItem([Ô]Chamado Aberto[Ô], [Ô]0-1-2-4[Ô]))
Me.ddl_Id_Status_Chamado.Items.Add(New ListItem([Ô]Chamado Fechado[Ô], [Ô]3[Ô]))
Mas agora não sei fazer isso em forms
Se alguem poder me ajudar, agradeço!
da pra fazer assim tambem...
porem depois voce adapta do seu jeito..
fiz so pra testar aqui..
Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim NOM, COD As String
NOM = [Ô]ROBSON[Ô]
COD = [Ô]12[Ô]
ComboBox1.Items.Add(NOM & Space(30 - Len(NOM)) & [Ô]|[Ô] & COD)
End Sub
porem depois voce adapta do seu jeito..
fiz so pra testar aqui..
Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim NOM, COD As String
NOM = [Ô]ROBSON[Ô]
COD = [Ô]12[Ô]
ComboBox1.Items.Add(NOM & Space(30 - Len(NOM)) & [Ô]|[Ô] & COD)
End Sub
Perguntinha, assim quando eu pegar o selectedvalue ele vai vim 12?
voce pode colocar no evento que deseja.
Dim linha As String = [Ô][Ô]
Dim vetor As String()
linha = Me.ComboBox1.Items(0).ToString
vetor = Split(Trim(linha), [Ô]|[Ô])
TextBox2.Text = vetor(0) [ô]aqui retorna o nome
TextBox1.Text = vetor(1) [ô]aqui retorna o codigo
tenta ai
Dim linha As String = [Ô][Ô]
Dim vetor As String()
linha = Me.ComboBox1.Items(0).ToString
vetor = Split(Trim(linha), [Ô]|[Ô])
TextBox2.Text = vetor(0) [ô]aqui retorna o nome
TextBox1.Text = vetor(1) [ô]aqui retorna o codigo
tenta ai
opssss.....
tenta assim agora que da certo:
Dim linha As String = [Ô][Ô]
Dim vetor As String()
linha = Me.ComboBox1.SelectedItem.ToString
vetor = Split(Trim(linha), [Ô]|[Ô])
TextBox2.Text = vetor(0)
TextBox1.Text = vetor(1)
troquei isso :
linha = Me.ComboBox1.Items(0).ToString
por isso:
linha = Me.ComboBox1.SelectedItem.ToString
fiz o teste aqui e funcionou perfeitamente..
tenta assim agora que da certo:
Dim linha As String = [Ô][Ô]
Dim vetor As String()
linha = Me.ComboBox1.SelectedItem.ToString
vetor = Split(Trim(linha), [Ô]|[Ô])
TextBox2.Text = vetor(0)
TextBox1.Text = vetor(1)
troquei isso :
linha = Me.ComboBox1.Items(0).ToString
por isso:
linha = Me.ComboBox1.SelectedItem.ToString
fiz o teste aqui e funcionou perfeitamente..
No VB6 eu uso assim:
Combo1.Additem [Ô]Teste[Ô]
Combo1.ItemData(0) = 87 [ô]Aqui diz que o item de index 0 da combo possui o código 87
depois para mostrar:
MsgBox Combo1.ItemData(0)
Combo1.Additem [Ô]Teste[Ô]
Combo1.ItemData(0) = 87 [ô]Aqui diz que o item de index 0 da combo possui o código 87
depois para mostrar:
MsgBox Combo1.ItemData(0)
[ô]na verdade o que vc esta querendp é isso ai.
[ô]1º cria essa classe
Public Class MeuItemData
Public Valor As Object
Public Descricao As String
Public Sub New(ByVal NovoValor As Object, ByVal NovaDescricao As String)
Valor = NovoValor
Descricao = NovaDescricao
End Sub
Public Overrides Function ToString() As String
Return Descricao
End Function
End Class
[ô]depois selecione o registro a seu modo,eu utilizo uma classe
SELEÇÃO.SEL([Ô]Select vendedor,codigo From nag_vendedores order by Vendedor[Ô], True, True)
Dim meuarray As New ArrayList
While SELEÇÃO.MY_RE.Read
meuarray.Add(New MeuItemData(SELEÇÃO.MY_RE.Item([Ô]Codigo[Ô]).ToString, SELEÇÃO.MY_RE.Item([Ô]Vendedor[Ô]).ToString))
End While
With CBO_VENDEDOR
.ValueMember = [Ô]Descricao[Ô]
.DisplayMember = [Ô]Valor[Ô]
.DataSource = meuarray
CBO_VENDEDOR.Refresh()
CBO_VENDEDOR.SelectedIndex = 0
End With
[ô]depois faça esse teste na sua combo
Private Sub CBO_VENDEDOR_SelectionChangeCommitted(ByVal sender As Object, ByVal e As System.EventArgs) Handles CBO_VENDEDOR.SelectionChangeCommitted
Dim ItemSelected As String
ItemSelected = CType(CBO_VENDEDOR.SelectedItem, MeuItemData).Valor
[ô]MsgBox([Ô]Value Selected = [Ô] & ItemSelected, MsgBoxStyle.Information)
End Sub
[ô]1º cria essa classe
Public Class MeuItemData
Public Valor As Object
Public Descricao As String
Public Sub New(ByVal NovoValor As Object, ByVal NovaDescricao As String)
Valor = NovoValor
Descricao = NovaDescricao
End Sub
Public Overrides Function ToString() As String
Return Descricao
End Function
End Class
[ô]depois selecione o registro a seu modo,eu utilizo uma classe
SELEÇÃO.SEL([Ô]Select vendedor,codigo From nag_vendedores order by Vendedor[Ô], True, True)
Dim meuarray As New ArrayList
While SELEÇÃO.MY_RE.Read
meuarray.Add(New MeuItemData(SELEÇÃO.MY_RE.Item([Ô]Codigo[Ô]).ToString, SELEÇÃO.MY_RE.Item([Ô]Vendedor[Ô]).ToString))
End While
With CBO_VENDEDOR
.ValueMember = [Ô]Descricao[Ô]
.DisplayMember = [Ô]Valor[Ô]
.DataSource = meuarray
CBO_VENDEDOR.Refresh()
CBO_VENDEDOR.SelectedIndex = 0
End With
[ô]depois faça esse teste na sua combo
Private Sub CBO_VENDEDOR_SelectionChangeCommitted(ByVal sender As Object, ByVal e As System.EventArgs) Handles CBO_VENDEDOR.SelectionChangeCommitted
Dim ItemSelected As String
ItemSelected = CType(CBO_VENDEDOR.SelectedItem, MeuItemData).Valor
[ô]MsgBox([Ô]Value Selected = [Ô] & ItemSelected, MsgBoxStyle.Information)
End Sub
Tópico encerrado , respostas não são mais permitidas