none
Atualizar DataGridView e manter itens selecionados RRS feed

  • Pergunta

  • Tenho um DGV e nele tenho tres colunas (select (checkbox), texto e valor), quero que quando eu atualizar o DGV as Rows que tiverem selecionadas com o select de checkbox se manterem selecionadas e só atualizar o que for novo, uso MYSQL como BD.(VS 2013, WFA/C#) ou se for melhor quando atualizar só aparecer o que é item novo, no caso o que foi cadastrado depois.
    quarta-feira, 12 de junho de 2019 19:34

Todas as Respostas

  • Nickolas Vieira.

       Por favor, veja:

    ================================================
    Como Manter Registro Selecionado após Atualizar GridView WPF
    Publicado por Jovan Oliveira Neves em 3 dezembro 2013 às 13:19 em C# (Csharp)
    Back to C# (Csharp) Discussions

    Boa Tarde!
    Responder até Jone Pólvora em 3 dezembro 2013 at 21:15

    Você deve (antes de recarregar os dados no grid) guardar uma referência de um valor chave para o objeto que está selecionado no grid, e após preencher o grid, procurar no grid se ainda existe um objeto com aquele mesmo valor chave, percorrendo registro a registro, e caso exista, selecioná-lo.
    Isso é necessário porque no WPF, o grid utiliza instâncias de objetos que representam os dados, e a cada nova atualização do grid, os objetos antigos são descartados e novos objetos são renderizados, apesar de ser os "mesmos" registros no banco de dados, porém, instâncias de objetos diferentes.
    A lógica seria mais ou menos assim:
    Antes de recarregar os dados do grid:
    Pessoa pessoaSelecionada = grid.SelectedItem as Pessoa;
    
    AtualizarGrid();
    
    foreach (Pessoa item in grid.ItemsSource) {
    
      if (item.Id == pessoaSelecionada.Id) {
          grid.SelectedItem = item;
          break;
      }
    
    }

    Isso é um exemplo onde você popula uma lista de pessoas onde exista uma classe chamada Pessoa, e esta classe possua um campo chamado Id.
    Tente adaptar o seu caso com esta idéia, mas não se prenda a isso.

    Espero ter ajudado.
    []'s

    ================================================

    []'s,
    Fabio I.
    • Editado Fabio I quinta-feira, 13 de junho de 2019 11:28
    • Sugerido como Resposta IgorFKModerator quinta-feira, 13 de junho de 2019 12:51
    quinta-feira, 13 de junho de 2019 11:24