ITEMDATA DO VB6 NO VB.NET
[txt-color=#0000f0]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
Cbo.Items.Add(New MeuItemData(1, [Ô]Primeiro Item[Ô]))
Cbo.Items.Add(New MeuItemData(2, [Ô]Segundo Item[Ô]))
Cbo.Items.Add(New MeuItemData(3, [Ô]Terceiro Item[Ô]))
Cbo.Items.Add(New MeuItemData(4, [Ô]Quarto Item[Ô]))
Cbo.Items.Add(New MeuItemData(5, [Ô]Quinto Item[Ô]))[/txt-color]
Estou usando assim, mas gostaria de saber como faço para selecionar um do Cbo pelo valor.
Busca no vb6
[txt-color=#e80000]E assim percorrer o Cbo inteiro ate achar um determinado valor e jogar
Faço assim no vb6
For I = 0 To Cbo.ListCount - 1
If Cbo.ItemData(I) = ValorItemdata Then
Cbo.ListIndex = I
BuscaDadosCbo = Cbo.List(I)
Exit Function
End If
Next I
BuscaDadosCbo = Cbo.List(0)[/txt-color]
no vb.net como farica isso, alguem poderia me ajudar
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
Cbo.Items.Add(New MeuItemData(1, [Ô]Primeiro Item[Ô]))
Cbo.Items.Add(New MeuItemData(2, [Ô]Segundo Item[Ô]))
Cbo.Items.Add(New MeuItemData(3, [Ô]Terceiro Item[Ô]))
Cbo.Items.Add(New MeuItemData(4, [Ô]Quarto Item[Ô]))
Cbo.Items.Add(New MeuItemData(5, [Ô]Quinto Item[Ô]))[/txt-color]
Estou usando assim, mas gostaria de saber como faço para selecionar um do Cbo pelo valor.
Busca no vb6
[txt-color=#e80000]E assim percorrer o Cbo inteiro ate achar um determinado valor e jogar
Faço assim no vb6
For I = 0 To Cbo.ListCount - 1
If Cbo.ItemData(I) = ValorItemdata Then
Cbo.ListIndex = I
BuscaDadosCbo = Cbo.List(I)
Exit Function
End If
Next I
BuscaDadosCbo = Cbo.List(0)[/txt-color]
no vb.net como farica isso, alguem poderia me ajudar
Mala, tente assim...
BuscaDadosCbo = Cbo.FindString(ValorItemdata)
Atenciosamente,
Jonathan Stecker
BuscaDadosCbo = Cbo.FindString(ValorItemdata)
Atenciosamente,
Jonathan Stecker
Nao funcionou nao amigo,
Cara ve se eu entendi certo, mais acho que é isto que você está querendo...
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Cbo.Items.Add(New MeuItemData(1, [Ô]Primeiro Item[Ô]))
Cbo.Items.Add(New MeuItemData(2, [Ô]Segundo Item[Ô]))
Cbo.Items.Add(New MeuItemData(3, [Ô]Terceiro Item[Ô]))
Cbo.Items.Add(New MeuItemData(4, [Ô]Quarto Item[Ô]))
Cbo.Items.Add(New MeuItemData(5, [Ô]Quinto Item[Ô]))
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim BuscaDadosCbo As Integer = 0
Dim ValorItemdata As String = String.Empty
ValorItemdata = [Ô]Terceiro Item[Ô]
BuscaDadosCbo = Cbo.FindString(ValorItemdata)
Me.Cbo.SelectedIndex = BuscaDadosCbo
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Cbo.Items.Add(New MeuItemData(1, [Ô]Primeiro Item[Ô]))
Cbo.Items.Add(New MeuItemData(2, [Ô]Segundo Item[Ô]))
Cbo.Items.Add(New MeuItemData(3, [Ô]Terceiro Item[Ô]))
Cbo.Items.Add(New MeuItemData(4, [Ô]Quarto Item[Ô]))
Cbo.Items.Add(New MeuItemData(5, [Ô]Quinto Item[Ô]))
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim BuscaDadosCbo As Integer = 0
Dim ValorItemdata As String = String.Empty
ValorItemdata = [Ô]Terceiro Item[Ô]
BuscaDadosCbo = Cbo.FindString(ValorItemdata)
Me.Cbo.SelectedIndex = BuscaDadosCbo
End Sub
Nao e bem isso nao amigo
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Cbo.Items.Add(New MeuItemData(1, [Ô]Primeiro Item[Ô]))
Cbo.Items.Add(New MeuItemData(2, [Ô]Segundo Item[Ô]))
Cbo.Items.Add(New MeuItemData(3, [Ô]Terceiro Item[Ô]))
Cbo.Items.Add(New MeuItemData(4, [Ô]Quarto Item[Ô]))
Cbo.Items.Add(New MeuItemData(5, [Ô]Quinto Item[Ô]))
End Sub
[txt-color=#e80000] Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim BuscaDadosCbo As Integer = 0
Dim ValorItemdata As String = String.Empty
ValorItemdata = [Ô]Terceiro Item[Ô] Este falor eu nao tenho
ValorItemdata = [Ô]3[Ô]
eu tenho o valor 3 e quero buscar o valor [Ô]Terceiro Item[Ô]
cbo.text = [Ô]Terceiro Item[Ô]
End Sub [/txt-color]
Entedeu amigo.
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Cbo.Items.Add(New MeuItemData(1, [Ô]Primeiro Item[Ô]))
Cbo.Items.Add(New MeuItemData(2, [Ô]Segundo Item[Ô]))
Cbo.Items.Add(New MeuItemData(3, [Ô]Terceiro Item[Ô]))
Cbo.Items.Add(New MeuItemData(4, [Ô]Quarto Item[Ô]))
Cbo.Items.Add(New MeuItemData(5, [Ô]Quinto Item[Ô]))
End Sub
[txt-color=#e80000] Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim BuscaDadosCbo As Integer = 0
Dim ValorItemdata As String = String.Empty
ValorItemdata = [Ô]Terceiro Item[Ô] Este falor eu nao tenho
ValorItemdata = [Ô]3[Ô]
eu tenho o valor 3 e quero buscar o valor [Ô]Terceiro Item[Ô]
cbo.text = [Ô]Terceiro Item[Ô]
End Sub [/txt-color]
Entedeu amigo.
  Â
eu uso assim para buscar pelo itendata
creio que voce tenha apenas que trocar .key pelo campo que voce usou para armazenar o Itemdata
Public function Localiza_Itendata(ByVal CBO As ComboBox, ByVal Valor&)
Dim i%
Localiza_Itendata = False
For i = 0 To CBO.Items.Count - 1
If Valor.Equals(CBO.Items.Item(i).key) Then
Localiza_Itendata = True
CBO.SelectedIndex = i
Exit Function
End If
Next
End Function
eu uso assim para buscar pelo itendata
creio que voce tenha apenas que trocar .key pelo campo que voce usou para armazenar o Itemdata
Public function Localiza_Itendata(ByVal CBO As ComboBox, ByVal Valor&)
Dim i%
Localiza_Itendata = False
For i = 0 To CBO.Items.Count - 1
If Valor.Equals(CBO.Items.Item(i).key) Then
Localiza_Itendata = True
CBO.SelectedIndex = i
Exit Function
End If
Next
End Function
Tópico encerrado , respostas não são mais permitidas