COLOCAR O CODIGO COMO INDICE NO COMBOBOX
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!!!!
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!!!!
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?
veja sera exibido o vendordesc, mas ao selecionar um nome, o vendorcode sera acionado vindo de .SelectedValue
.DataSource = myTable
.DisplayMember = [Ô]VendorDesc[Ô]
.ValueMember = [Ô]VendorCode[Ô]
veja sera exibido o vendordesc, mas ao selecionar um nome, o vendorcode sera acionado vindo de .SelectedValue
http://www.macoratti.net/vbn_cbo.htm
nesse link tem vários modelos de preencher a combo utilizando um Ãndice próprio.
nesse link tem vários modelos de preencher a combo utilizando um Ãndice próprio.
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:
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:
Para resgatar os códigos relacionados aos nomes co ComboBox:
Lembre-se que isto é um exemplo didático.
Se você estiver retornando dados de um DataReader, seu loop deve ficar assim:
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.
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