COLOCAR O CODIGO COMO INDICE NO COMBOBOX

NEGRON 20/10/2014 09:05:15
#442031
Bom dia galera!!!!!!

Sou Novato no Vb.net, e gostaria de saber como faço para utilizar o codigo do cliente como indice - no vb6 conseguia certinho mas no net to penando


Por favor galera me ajudem!!!!
NICKOSOFT 20/10/2014 09:21:32
#442032
não sei se entendi bem, mas vc quer q por ex o nome seja exibido, e ao selecionar alguém, o valor usado seja de outro campo relacionado ao nome?
  
.DataSource = myTable
.DisplayMember = [Ô]VendorDesc[Ô]
.ValueMember = [Ô]VendorCode[Ô]

veja sera exibido o vendordesc, mas ao selecionar um nome, o vendorcode sera acionado vindo de .SelectedValue
MAXCIM 20/10/2014 09:28:43
#442033
http://www.macoratti.net/vbn_cbo.htm

nesse link tem vários modelos de preencher a combo utilizando um índice próprio.
PEGUDO 22/10/2014 08:45:46
#442082
Resposta escolhida
Pra começar, já que você está se aventurando pelo .NET, esqueça: [Ô]no VB6 eu fazia assim...[Ô], [Ô]no VB6 eu fazia assado...[Ô].
VB6 é VB6 e VB.NET é VB.NET.

No VB.NET o comboBox não é igual ao do ASP.NET, ou seja, contém Texto e valor, assim, para trabalhar com texto e valor no VB.NET, você pode trabalhar da seguinte maneira:
1. Crie um arquivo do tipo Class (se não tiver um) e faça o seguinte:
Public Class Class1
Public Shared vetor() As String [txt-color=#007100][ô]Array que será usado para guardar os códigos em memória[/txt-color]

Public Shared ReadOnly Property pegaValor(indice As UInt16) As String
Get
pegaValor = vetor(indice) [txt-color=#007100][ô]Retorna o código, baseado no índice do nome escolhido no ComboBox[/txt-color]
Return pegaValor
End Get
End Property

Public Shared Sub preencheVetor(valor As String)
Dim contador As UInteger = 0

If Not IsNothing(vetor) Then contador = vetor.Length [txt-color=#007100][ô]Se o vetor ainda não contiver valores passa direto senão pega o maior índice do Array[/txt-color]

ReDim Preserve vetor(contador) [txt-color=#007100][ô]Redimensiona o Array, baseado em seu índice total, representado pela variável contador[/txt-color]
vetor(contador) = valor [txt-color=#007100][ô]Atribui o valor passado por parâmetro ao índice recém criado[/txt-color]
End Sub
End Class


Para fazer testes, coloque um Botão, um ComboBox para inserir nomes e um Label para exibir o valor ligado ao nome.
No clique do botão, coloque:
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim vetor(,) As String = {{[Ô]Abílio[Ô], [Ô]25[Ô]}, {[Ô]José[Ô], [Ô]343[Ô]}, {[Ô]Ronaldo[Ô], [Ô]1589[Ô]}} [txt-color=#007100][ô]Estou utilizando este Array bidimensional para simular um retorno do banco de dados, algo semelhante a SELECT nome, codigo FROM tblUsusarios[/txt-color]

For A = 0 To (vetor.Length / 2) - 1 [txt-color=#007100][ô]Fazendo um loop entre os valores do Array[/txt-color]
Class1.preencheVetor(vetor(A, 1)) [txt-color=#007100][ô]Preenchendo o Array que está na Class1 com os código dos nomes[/txt-color]
ComboBox1.Items.Add(vetor(A, 0)) [txt-color=#007100][ô]Preenchendo o ComboBox com os nomes[/txt-color]
Next
End Sub


Para resgatar os códigos relacionados aos nomes co ComboBox:
    Private Sub ComboBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Label1.Text = [Ô]Código: [Ô] & Class1.pegaValor(ComboBox1.SelectedIndex)
End Sub


Lembre-se que isto é um exemplo didático.
Se você estiver retornando dados de um DataReader, seu loop deve ficar assim:

Dim reader As OleDb.OleDbDataReader

While reader.read
Class1.preencheVetor(reader.item([Ô]codigo[Ô]))
ComboBox1.Items.Add(reader.item([Ô]nome[Ô]))
End While


Estou levando em consideração também que voçê tem conhecimento suficiente sobre SQL, bancos de dados e como retornar dados de um banco de dados.
Espero que ajude.
Tópico encerrado , respostas não são mais permitidas