none
Busca ineligente c# e mysql RRS feed

  • Pergunta

  • Bem, preciso de um melhoramento em minha busca, a principio ela consegue buscar os dados pelo "id" da mesma, preciso de um filtro que me de a escolha de busca por "id" ou "Nome" e que em tempo real a busca por nomes mostre os mesmos mais parecidos no datagridview!

    É um trabalho do meu curso de informática, preciso de ajuda, tá dificil(BUÁÁÁ!). Ficarei grato.

    quinta-feira, 14 de maio de 2015 20:19

Respostas

  • Pode tentar este código:

    Lançar as variáveis globais

    //Criar um variável global
            BindingSource bs = new BindingSource();
    
    //Criar o método para listar os dados
      public void Listagem()
            {
                DataView dv = new DataView();
                Clientes obj = new Clientes();
                DataView dv = new DataView();
    
                DataTable _dt = new DataTable();
    
                try
                {
                    _dt = obj.Pesquisar();
                 
    
    
                    if (_dt.Rows.Count > 0)
                    {
                        dv = _dt.DefaultView;
                        //dv.Sort = "Pes_RazaoSoc"
                        //dv.Sort = "ContactName"
                        bs.ResetBindings(true) ;
                        DataGridview.DataSource = null;
                        
                      
                        bs.DataSource = dv;
                        bs.DataMember = _dt.TableName;
                        DataGridview.DataSource = bs;
    
                        bs.Sort = "Nome ASC";
                        DataGridview.Refresh();
    
                       
                       
                    }
                    else
                    {
                        DataGridview.Refresh();
                        DataGridview.DataSource = null;
                      
                       
                    }
    
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Houve um erro na Operação!  " + "Tipo de Erro: " + ex.Message, "Gerente Max", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
               
            }

    E implemento o código no evento TextChanged do seu textbox.

      private void tbBuscar_TextChanged(object sender, EventArgs e)
            {
              
                try
                {
    
                    string txtstring = this.tbBuscar.Text.Trim();
    
                    bs = (BindingSource)this.dgvClienteLista.DataSource;
                    //select = "SELECT id,nome,endereco,Convert(bigint, telefone) AS Telefone,rg,Convert(bigint, cpf) AS CPF,cnh FROM Clientes";
    
                    bs.Filter = "Convert([Id], System.String) LIKE '%" + txtstring + "%' OR [nome] LIKE '%" + txtstring +
                                "%' OR [Endereco] LIKE '%" + txtstring + "%' OR [cnh] LIKE '%" + txtstring + "%'";
    
    
                    this.dgvClienteLista.DataSource = bs;
    
    
    
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Houve um erro na Operação!  " + "Tipo de Erro: " + ex.Message, "Gerente Max", MessageBoxButtons.OK, MessageBoxIcon.Error);
    
                }
    
    
            }

    quinta-feira, 14 de maio de 2015 22:50

Todas as Respostas

  • Boa noite, em qual linguagem você precisa?
    quinta-feira, 14 de maio de 2015 22:21
  • Pode tentar este código:

    Lançar as variáveis globais

    //Criar um variável global
            BindingSource bs = new BindingSource();
    
    //Criar o método para listar os dados
      public void Listagem()
            {
                DataView dv = new DataView();
                Clientes obj = new Clientes();
                DataView dv = new DataView();
    
                DataTable _dt = new DataTable();
    
                try
                {
                    _dt = obj.Pesquisar();
                 
    
    
                    if (_dt.Rows.Count > 0)
                    {
                        dv = _dt.DefaultView;
                        //dv.Sort = "Pes_RazaoSoc"
                        //dv.Sort = "ContactName"
                        bs.ResetBindings(true) ;
                        DataGridview.DataSource = null;
                        
                      
                        bs.DataSource = dv;
                        bs.DataMember = _dt.TableName;
                        DataGridview.DataSource = bs;
    
                        bs.Sort = "Nome ASC";
                        DataGridview.Refresh();
    
                       
                       
                    }
                    else
                    {
                        DataGridview.Refresh();
                        DataGridview.DataSource = null;
                      
                       
                    }
    
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Houve um erro na Operação!  " + "Tipo de Erro: " + ex.Message, "Gerente Max", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
               
            }

    E implemento o código no evento TextChanged do seu textbox.

      private void tbBuscar_TextChanged(object sender, EventArgs e)
            {
              
                try
                {
    
                    string txtstring = this.tbBuscar.Text.Trim();
    
                    bs = (BindingSource)this.dgvClienteLista.DataSource;
                    //select = "SELECT id,nome,endereco,Convert(bigint, telefone) AS Telefone,rg,Convert(bigint, cpf) AS CPF,cnh FROM Clientes";
    
                    bs.Filter = "Convert([Id], System.String) LIKE '%" + txtstring + "%' OR [nome] LIKE '%" + txtstring +
                                "%' OR [Endereco] LIKE '%" + txtstring + "%' OR [cnh] LIKE '%" + txtstring + "%'";
    
    
                    this.dgvClienteLista.DataSource = bs;
    
    
    
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Houve um erro na Operação!  " + "Tipo de Erro: " + ex.Message, "Gerente Max", MessageBoxButtons.OK, MessageBoxIcon.Error);
    
                }
    
    
            }

    quinta-feira, 14 de maio de 2015 22:50
  • Como você fez sua classe dal? Seu evento de busca, seu select? Por gentileza.
    quinta-feira, 21 de maio de 2015 18:18
  • Em c# Amigo. 
    quinta-feira, 21 de maio de 2015 18:20