none
Atualização dos campos da form RRS feed

  • Pergunta

  • Olá Pessoal!

    Estou com uma situação onde não estou conseguindo atualizar corretamente os campos da form. A situação é a seguinte:

     

    Estou utilizando o evento CurrentChanged do BindingSource do combobox para atualizar o edit. Tenho um combobox e um edit. Ao selecionar um item no combobox ou ao selecionar uma linha na grid está atualizando corretamente o edit. O problema é quando eu utilizo um filtro na grid, e ela passa a não ter nenhuma linha. Já fiz as seguintes tentativas:

     

    - Quanto não existem linhas na grid, o evento não é chamado, e o edit fica com o conteúdo anterior;
    - Se eu chamar diretamente o evento CurrentChanged quando não existem linhas na grid, neste caso eu limpo o edit, mas quando são filtradas as linhas e a posição do combobox não altera (ou seja, fica no mesmo registro), não é chamado o CurrentChanged, e o edit fica em branco.
    - Já tentei utilizar "combo.SelectedIndex = -1" mas também não funcionou.

     

    Alguma idéia de como resolver esta situação?

     

    Obrigada por qualquer ajuda!
    Vanessa

    terça-feira, 11 de março de 2008 20:45

Respostas

  • Caro amigo,

    Tenta utilizar para efetuar esse controle o evento "SelectionChanged" da grid, e ainda
    efetuar as alterações sitadas pelo usuário acima. Dai sim, você pega o cara selecionado
    na grid: dataGridView1.CurrentRow.Index, caso o valor de retorno seja -1, é porque não
    existe registro na grid.

    Você precisa identificar o numero de registros na grid, para dai sim, verificar e fazer suas
    atualizações. Dependendo da sua situação.

    Espero que tenha ajudado. Caso não seja esse seu problema,
    tente especificar melhor suas dúvidas. ok?

    Abraços!
    terça-feira, 25 de março de 2008 13:06

Todas as Respostas

  • Nossa, acho que fiquei confuso.

     

    Vamos com mais calma.

     

    Você pode fazer assim, crie uma variável boleana pública no formulário.

     

    Quando você fizer o filtro, sete essa variável para True.

     

    Quando seu evento ocorrer verifique o Estado dessa variável, se for False, executa, se for True, não executa.

     

    ok?

     

    Isso, se eu entendi o que você quer fazer rsrsrsrs Smile

     

    terça-feira, 18 de março de 2008 18:37
  • Caro amigo,

    Tenta utilizar para efetuar esse controle o evento "SelectionChanged" da grid, e ainda
    efetuar as alterações sitadas pelo usuário acima. Dai sim, você pega o cara selecionado
    na grid: dataGridView1.CurrentRow.Index, caso o valor de retorno seja -1, é porque não
    existe registro na grid.

    Você precisa identificar o numero de registros na grid, para dai sim, verificar e fazer suas
    atualizações. Dependendo da sua situação.

    Espero que tenha ajudado. Caso não seja esse seu problema,
    tente especificar melhor suas dúvidas. ok?

    Abraços!
    terça-feira, 25 de março de 2008 13:06