Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

TsR

[Resolvido] Preenchendo Formulario apartir do Nome do Cliente

Recommended Posts

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

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

Me Ajuda a converter aee cara se tiver um tempo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeww vou tentar e posto resultados

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.