none
BindSource RRS feed

  • Pergunta

  • Galera,

    estou usando o .NET 2005 com C# e:

    tenho uma tela de cadastro....com os campos para cadastro e o grid abaixo.....tudo utilizando o bindsource...

    assim...ao carregar o grid os campos acima ja sao carregados conforme o item do grid selecionado....

     

    o problema é...como posso fazer um filtro pelos campos?

    tem alguma forma de limpar os campos sem que ele entenda como EDIT para que possa dar um FILTER() depois?

     

    Valeu!

    quinta-feira, 15 de fevereiro de 2007 11:18

Todas as Respostas

  • Lucas,

    Enquanto os campos estiverem vinculados não.

    quinta-feira, 15 de fevereiro de 2007 11:45
  • e ai cara blz?

    valeu por responder...

    e vc tem alguma sugestao?

    quinta-feira, 15 de fevereiro de 2007 12:00
  • Você pode implementar um campo para pesquisa, campo esse que não esteja vinculado. Faça a pesquisa e posicione o Grid na posição correta.
    quinta-feira, 15 de fevereiro de 2007 12:10
  • Olha amigo, eu não entendi completamente a sua dúvida. Mas se você deseja filtrar um valor através do bindingSource, pode usar: bindingSource.Filter = "Campo = Valor"

    Grande Abraço!

     

    quinta-feira, 15 de fevereiro de 2007 12:12
  • Só complementando, onde tem valor, você concatena o TextBox que não esteja vinculado. Entendeu?
    quinta-feira, 15 de fevereiro de 2007 12:17
  • Olá Lucas,

    Mantenha o grid vinculado ao BindingSource original (t_SMSLogAlertasBindingSource no exemplo abaixo).

    Crie um novo BindingSource (bindingSource1 no exemplo abaixo) e configure o DataSource de modo que aponte para o BindingSource original.

    Vincule os campos ao novo BindingSource.

    No evento PositionChanged ou CurrentChanged do BindingSource atualize a posição do novo BindingSource. Eu fiz um teste aqui usando PositionChanged, mas ele pode não ser disparado se a posição não for alterada durante uma filtragem ou reordenação. Se você tiver problemas com isso, use o CurrentChanged (talvez dê um pouco mais de trabalho para sincronizar).

    Num botão ou item de menu para filtrar, suspenda ou reinicie o Binding. Veja:

    private void t_SMSLogAlertasBindingSource_PositionChanged(object sender, EventArgs e) {

    this.bindingSource1.Position = this.t_SMSLogAlertasBindingSource.Position;

    }

    private void button1_Click(object sender, EventArgs e) {

    if (this.bindingSource1.IsBindingSuspended) {

    this.bindingSource1.ResumeBinding();

    }

    else {

    this.bindingSource1.SuspendBinding();

    }

    }

    []

     

     

    quinta-feira, 15 de fevereiro de 2007 12:27