TsR 0 Denunciar post Postado Janeiro 13, 2010 Galera sou novo em vb.net, e queria saber como faço pra fazer o seguinte: Após selecionar o nome do cliente em um ComboBox os dados do cliente serem preenchidos automaticamente nos TextBox's Me ajudem.. Desede já Agradeço Compartilhar este post Link para o post Compartilhar em outros sites
Macal 0 Denunciar post Postado Janeiro 13, 2010 Se não me engano, os combobox não possuem "valor" para as opções, diferente das dropdownlists nas webapp, portanto não poderia pegar diretamente o ID. O que você pode fazer é criar uma classe privada chamada "ComboItem" que irá simular um item de dropdownlist, contendo nome e valor. Aí você pode pegar o ID do cliente, fazer um select no banco e preencher as textbox. Vou postar o código que uso em C#: /// <summary> /// Definição de um item para o combobox com valor e nome /// </summary> private class comboItem { public string nomeItem; public int valorItem; public comboItem(string nome, int valor) { nomeItem = nome; valorItem = valor; } public override string ToString() { // Gera o texto exibido no combobox return nomeItem; } } Na hora de preencher seu combobox com os clientes (supondo que você tenha uma classe Clientes com os atributos ID e Nome), deve inserir um combo item: comboBox_MinhaCombo.Items.Add(new comboItem(Cliente.Nome, Cliente.ID)); Ai, no evento IndexChanged do combobox, você pega o valor do item: comboItem item = (comboItem)comboBox_MinhaCombo.Items[comboBox_MinhaCombo.SelectedIndex]; Tendo o valor selecionado (item.valorItem), basta fazer o select e preencher os demais dados. Uma outra solução mais simples seria você dar um SELECT usando LIKE e passar o nome do cliente na query. Mas isso se o nome do cliente for chave unica (UNIQUE) no seu banco, porque daí evita nomes duplicados e retornar mais de um resultado. Compartilhar este post Link para o post Compartilhar em outros sites
TsR 0 Denunciar post Postado Janeiro 13, 2010 http://www.macoratti.net/07/08/vbn5_acd.htm Nesse projeto do Macoratti ele fez exatamente oque queria, de uma olhada Porem não consegui transferir para meu projeto. Se Puder me ajudar? Compartilhar este post Link para o post Compartilhar em outros sites
Macal 0 Denunciar post Postado Janeiro 13, 2010 No momento não posso analisar o código dele. Mas isso que postei eu uso e funciona. É só converter para VB. Compartilhar este post Link para o post Compartilhar em outros sites
TsR 0 Denunciar post Postado Janeiro 13, 2010 Me Ajuda a converter aee cara se tiver um tempo? Compartilhar este post Link para o post Compartilhar em outros sites
Macal 0 Denunciar post Postado Janeiro 13, 2010 http://www.developerfusion.com/tools/convert/csharp-to-vb/ Compartilhar este post Link para o post Compartilhar em outros sites
TsR 0 Denunciar post Postado Janeiro 13, 2010 Valeww vou tentar e posto resultados Compartilhar este post Link para o post Compartilhar em outros sites
TsR 0 Denunciar post Postado Janeiro 13, 2010 04.Private Class comboItem 05. Public nomeItem As String 06. Public valorItem As Integer 07. 08. Public Sub New(ByVal nome As String, ByVal valor As Integer) 09. nomeItem = nome 10. valorItem = valor 11. End Sub 12. Public Overloads Overrides Function ToString() As String 13. ' Gera o texto exibido no combobox 14. Return nomeItem 15. End Function 16.End Class 01.comboBox_MinhaCombo.Items.Add(New comboItem(Cliente.Nome, Cliente.ID)) 01.Dim item As comboItem = DirectCast(comboBox_MinhaCombo.Items(comboBox_MinhaCombo.SelectedIndex), comboItem) E aeee oque faço com isso (desculpe o modo de falar) Compartilhar este post Link para o post Compartilhar em outros sites
TsR 0 Denunciar post Postado Fevereiro 13, 2010 Galera só para avisar resolvi o problema, segue a função pra quem prescisar: Dim Conexao As New ADODB.Connection Dim RS As New ADODB.Recordset Const StrConn As String = "Provider = Microsoft.jet.OleDB.4.0;Data Source = c:\bd.mdb;" Private Function ExibeDados(ByVal NomeCliente As String) As String Conexao = New ADODB.Connection Conexao.Open(StrConn) RS = New ADODB.Recordset RS.Open("SELECT * FROM Clientes WHERE Cliente = '" & NomeCliente & "'", Conexao, 1, 2) 'Recebe a variável NomeCliente, a qual foi recebido o nome do cliente no parâmetro "NomeCliente" da função Guia.Text = RS.Fields("Guia").Value Endereco.Text = RS.Fields("Endereco").Value Bairro.Text = RS.Fields("Bairro").Value CEP.Text = RS.Fields("CEP").Value Cidade.Text = RS.Fields("Cidade").Value Estado.Text = RS.Fields("Estado").Value CNPJ.Text = RS.Fields("CNPJ").Value InscEst.Text = RS.Fields("InscEst").Value Contrato.Text = RS.Fields("Contrato").Value Valor.Text = RS.Fields("Valor").Value Inicio.Text = RS.Fields("Inicio").Value DiaVencimento.Text = RS.Fields("DiaVencimento").Value Reajuste.Text = RS.Fields("Reajuste").Value Indice.Text = RS.Fields("Indice").Value Equipamentos.Text = RS.Fields("Equipamentos").Value 'Formulario 2 \o/ Cobranca_F2.Text = RS.Fields("Cobranca_F2").Value Endereco_F2.Text = RS.Fields("Endereco_F2").Value Bairro_F2.Text = RS.Fields("Bairro_F2").Value CEP_F2.Text = RS.Fields("CEP_F2").Value Cidade_F2.Text = RS.Fields("Cidade_F2").Value Estado_F2.Text = RS.Fields("Estado_F2").Value AC_F2.Text = RS.Fields("AC_F2").Value OBS_F2.Text = RS.Fields("OBS_F2").Value 'Formulario 3 \o/ Sindico_F3.Text = RS.Fields("Sindico_F3").Value Telefone_F3.Text = RS.Fields("Telefone_F3").Value Email_F3.Text = RS.Fields("Email_F3").Value 'Blocos \o/ Obs_Blocos.Text = RS.Fields("OBS_Blocos").Value 'Formulario 4 \o/ Contato_F4.Text = RS.Fields("Contato_F4").Value Telefone_F4.Text = RS.Fields("Telefone_F4").Value Email_F4.Text = RS.Fields("Email_F4").Value 'Formulario 5 \o/ Administradora_F5.Text = RS.Fields("Administradora_F5").Value Contato_F5.Text = RS.Fields("Contato_F5").Value Telefone_F5.Text = RS.Fields("Telefone_F5").Value Email_F5.Text = RS.Fields("Email_F5").Value Endereco_F5.Text = RS.Fields("Endereco_F5").Value Bairro_F5.Text = RS.Fields("Bairro_F5").Value Cidade_F5.Text = RS.Fields("Cidade_F5").Value CEP_F5.Text = RS.Fields("CEP_F5").Value Estado_F5.Text = RS.Fields("Estado_F5").Value chkAtivo.Checked = False chkInativo.Checked = False If RS.Fields("AtivoOuInativo").Value = 1 Then chkAtivo.Checked = True Else chkInativo.Checked = True End If Return True End Function Valeww.. Compartilhar este post Link para o post Compartilhar em outros sites