No tutorial anterior, adicionamos um DataGridView para listar os clientes cadastrados. Mas não é muito prático ter que procurar os clientes cadastrados em uma lista, então vou falar nesse tutorial sobre como pesquisar os cadastros feitos.
Reorganizando o Layout
Pode ser que você, assim como eu, tenha achado o tamanho do layout do programa um tanto exagerado. Dado que nós vamos possibilitar pesquisas no programa, vamos então tirar algumas colunas do DataGridView, para aparecer somente algumas informações do cliente.
Abra o projeto, abra o Form1.cs[Design], selecione o DataGridView. Depois de selecionar, clique na seta do canto de cima dele, e clique em “Editar Colunas…”
Na janela “Editar Colunas”, selecione as colunas Endereço, Cidade, Estado e CEP, e clique em “Remover”. Vamos deixar somente algumas informações listadas, e caso você queira ver mais informações, basta fazer uma pesquisa.
Organize novamente o tamanho do DataGridView e do Form1.
Organizando objetos para a pesquisa
Primeiramente, vamos criar um novo form para que sejam feitas as pesquisas. No menu de cima, clique em “Projeto” > “Adicionar Formulário do Windows…”. Selecione Windows Form, e clique em “Adicionar”.
Depois de criar, selecione o Form3, e na propriedade Text delete, troque o que está ali para “Pesquisar”.
Agora, adicione um botão ao “Form1”, para abrir o form de pesquisas. Na propriedade Text desse botão, troque o que está ali para “Pesquisar”.
Dê dois cliques no botão para abrir a página de código, e adicione esse trecho de código:
1 2 |
Form3 form3 = new Form3(); form3.Show(); |
Insira um TextBox na parte de cima do Form3.
Agora abra a guia “Fontes de Dados”, selecione “Clientes”, e troque para “Detalhes”. Vamos adicionar labels para receber os resultados da pesquisa. Selecione cada campo e troque o controle para label.
Depois, clique em “Clientes” e arraste para dentro do Form3. Delete a barra de cima, deixe somente os labels e o TextBox no Form3. Apague o texto dos “label1”.
Criando pesquisa
Na janela “Gerenciador de Soluções”, dê dois cliques em “CADASTROSDataSet.xsd”. Na guia “CADASTROSDataSet.xsd”, clique com o botão direito em “Fill,GetData ()”, e clique em “Adicionar Consulta…”
Na janela que será aberta, verifique se “Usar Instruções SQL” está marcado, e clique em “Avançar”.
Depois, verifique se “SELECT que retorna linhas” está marcado. Clique em “Avançar”.
Na próxima janela que será aberta, clique em “Construtor de Consultas”.
Para pesquisar os clientes, vamos usar como o RG como referência para a consulta. Então adicione o seguinte trecho de código abaixo do código SQL da janela “Construtor de Consultas”.
1 |
WHERE (RG Like?) |
Clique em “OK”.
Clique em “Avançar” na próxima janela. Depois você terá que escolher o método a ser adicionado ao TableAdapter. Desmarque a opção “Retornar uma DataTable”, deixe a opção “Preencher uma DataTable” marcada, e troque o nome para “FillbyRG”.
Clique em “Concluir”.
No Form3, adicione um botão ao lado do TextBox, e na propriedade Text dele, troque o texto para “Pesquisar”.
Dê dois cliques nesse botão para abrir a página de código, e adicione esse trecho de código para ele:
1 |
this.cLIENTESTableAdapter.Fill(this.cADASTROSDataSet.CLIENTES); |
Agora, dê dois cliques no TextBox, e adicione esse trecho de código:
1 |
this.cLIENTESTableAdapter.FillByRG(this.cADASTROSDataSet.CLIENTES, "%" + textBox1.Text + "%"); |
Conclusão
Você aprendeu nesse tutorial a criar pesquisa em seu aplicativo C# Windows Forms, filtrando pelo RG do cliente. Com este artigo concluímos essa breve série sobre desenvolvimento C# com Windows Forms.
Gustavo; gostei muito do seu método de ensino.
Também tenho interesse em programar em asp.net. Se se você tiver este mesmo método , ficarei muito grato ou se você conhecer alguns link´s ficarei grato também.
Abraço.
Parabéns pelo tutorial, estava procurando uma pesquisa para o meu projeto. Fiz todos os passos e funcionou perfeitamente.
Bom dia, Gustavo. Quero te agradecer muito pelo tutorial. Estou tentando aprender a programar. É muito ter pessoas como você compartilhando experiências… Um grande abraço e sucesso!!!
Muito Obrigado Gustavo seu tutorial foi de grande ajuda, apenas um detalhe que ocorreu aqui:
no final vc diz para colocar o codigo na textbox: this.cLIENTESTableAdapter.FillByRG(this.cADASTROSDataSet.CLIENTES, “%” + textBox1.Text + “%”);
contudo quando vc der 2 cliques na textBox ela ir pesquisar.
No meu caso juntei esse codigo com o do botão e funcionou perfeitamente.
Muito obrigado =)
Gustavo parabéns, muito útil e muito prático.
Gostei muito.
Que tal vc fazer um tutorial para fazer um form com duas tabelas linkadas?
Tipo proposta (dados do cliente) e itens da proposta (itens de produtos)?
Estou precisando fazer isso e estou apanhando muito.
Muito Obrigado.
tem como fazer diferenciar os acentos Tipo (João, Joao
this.cLIENTESTableAdapter.FillByRG(this.cADASTROSDataSet.CLIENTES, “%” + textBox1.Text + “%”);