none
Aplicar filtro em uma busca, utilizando BindingSource e DataGridView RRS feed

  • Pergunta

  • E ai galera, tudo certo?

    seguinte, estou utilizando um DataGridView que é ligado a um BindingSource, na hora de carregar os dados do banco, eu preciso filtrar os resultados, não apresentando os resultados que possuírem um campo vazio, por exemplo.

    Tentei utilizar o BindingSource.Filter de todas as forma e não consegui! 

    Alguém pode me ajudar me dando alguma ideia de alguma forma para resolver esta questão?


    Giuvane Conti - Se a resposta for útil, marque-a.

    terça-feira, 29 de janeiro de 2013 18:13

Respostas

  • Olá

    você pretende consultar os dados em memória ou ir novamente ao banco de dados ?

    você pode usar o Dt.Select( "seu where") e atribuir novamente ao seu BindingSource ou

    já tentou filtrar o BindingSource e depois atribuir novamente ele ao seu Dgv ?

    se for pesquisar no banco novamente é só:

    pegar o seu dt

    atribuir ao bindingsource

    e atribuir ao datagridview

    se for em memória os passos são por exemplo:

    bindingSource.DataSource = Dt.Select( "filtro").CopyAsDataTable();

    Dgv.DataSource = bindingSource;

    ou tentar reatribuir o bindingSource após o filter:

    bindingSource.Filter = "";

    Dgv.DataSource = bindingSource

    esses são os passos q eu sugiro

    Abraços

    • Marcado como Resposta Giuvane Conti sexta-feira, 1 de fevereiro de 2013 11:17
    terça-feira, 29 de janeiro de 2013 19:41

Todas as Respostas

  • Olá

    você pretende consultar os dados em memória ou ir novamente ao banco de dados ?

    você pode usar o Dt.Select( "seu where") e atribuir novamente ao seu BindingSource ou

    já tentou filtrar o BindingSource e depois atribuir novamente ele ao seu Dgv ?

    se for pesquisar no banco novamente é só:

    pegar o seu dt

    atribuir ao bindingsource

    e atribuir ao datagridview

    se for em memória os passos são por exemplo:

    bindingSource.DataSource = Dt.Select( "filtro").CopyAsDataTable();

    Dgv.DataSource = bindingSource;

    ou tentar reatribuir o bindingSource após o filter:

    bindingSource.Filter = "";

    Dgv.DataSource = bindingSource

    esses são os passos q eu sugiro

    Abraços

    • Marcado como Resposta Giuvane Conti sexta-feira, 1 de fevereiro de 2013 11:17
    terça-feira, 29 de janeiro de 2013 19:41
  • o que ocorre é o seguinte.. meu form tem um binding navigator que é master.. dentro dele tem outro sendo details... quando eu carregar um objeto no master, eu quero aplicar um filtro no grid que apresenta os details.. o BindingSource dos details está atrelado ao BindingSource do master.. eu tenho essa situação.. então eu não posso fazer uma reconsulta no banco... eu preciso que ao carregar o objeto no Master, automaticamente o Filtro seja aplicado BindingSource do Details...

    essa é a situação...


    Giuvane Conti - Se a resposta for útil, marque-a.

    terça-feira, 29 de janeiro de 2013 19:51
  • alguém mais ?

    Giuvane Conti - Se a resposta for útil, marque-a.

    quarta-feira, 30 de janeiro de 2013 16:02
  • tente usar o exemplo do link para ver se resolve

    http://stackoverflow.com/questions/1147751/bindingsource-refresh

    é uma sugestão

    ;)

    quarta-feira, 30 de janeiro de 2013 17:18
  • cara... não teve jeito de usar essa propriedade "Filter" do BindingSource... tive que atribuir a consulta filtrada a um objeto e depois setar ele, com o filtro, no DataSource do BindingSource... teve que ser assim mesmo!! 

    Giuvane Conti - Se a resposta for útil, marque-a.

    quinta-feira, 31 de janeiro de 2013 17:13
  • kkkkkkkkkkkkkkk foda

    é, mas conseguiu resolver dessa maneira ?

    quinta-feira, 31 de janeiro de 2013 17:39
  • consegui sim!

    Giuvane Conti - Se a resposta for útil, marque-a.

    sexta-feira, 1 de fevereiro de 2013 11:16
  • Bem sei que faz tempo essa pergunta.

    Mais vou responder para quem estiver procurando.

    Se você usar dessa maneira acho que vai ajuda-lo.

    Evento Botton1_click

    Ex. myBindingSource.Filter="NomeCampoNaTabela= ' " & TextBox.text & " ' "

    Aqui você digita que quiser no seu textbox.. 

    Daí ele consulta o conteudo ao clicar no botton1

    valeu - qualquer coisa esta o ex. no cannal :o) ninobrawjunior youtube

    terça-feira, 13 de setembro de 2016 22:36