none
Avançar linha datagridview RRS feed

  • Pergunta

  • Eu preciso avançar linhas selecionadas em um datagridview. Eu tentei proceder da seguinte forma:
    dgvPrincipal.Rows[dgvPrincipal.CurrentRow.Index + 1].Selected = true;

    a primeira execução, funciona, o o grid avança uma linha, porém, na segunda execução, o comando currentrow.index, não avança e continua lendo a mesma index da anterior.

    O que estou fazendo de errado?

    sexta-feira, 24 de março de 2017 02:16

Respostas

  • int indexLinha = dgvPrincipal.SelectedRows[0].Index;
    dgvPrincipal.Rows[dgvPrincipal.SelectedRows[0].Index + 1].Selected = true;
    //Adicionando esse código você movimenta o scroll 
    dgvPrincipal.FirstDisplayedScrollingRowIndex = indexLinha;

    Att.

    Felipe Fernandes

    Obrigado Amigos Fábio e Felipe
    • Marcado como Resposta lexmzr sexta-feira, 24 de março de 2017 13:16
    sexta-feira, 24 de março de 2017 13:16

Todas as Respostas

  • Olá,

    Você pode fazer assim:

    dgvPrincipal.Rows[dgvPrincipal.SelectedRows[0].Index + 1].Selected = true;
    Att,


    Fabio Rosa.

    sexta-feira, 24 de março de 2017 11:35
  • Olá,

    Você pode fazer assim:

    dgvPrincipal.Rows[dgvPrincipal.SelectedRows[0].Index + 1].Selected = true;
    Att,


    Fabio Rosa.

    Fabio, funcionou! porém, para ficar perfeito ainda falta um detalhe: A gris possui por exemplo 15 linhas ao total, sendo visível apenas 10, onde com o seu comando, eu consigo ir avançando as linhas (visualmente), porém, quando ultrapassa as 10 linhas visíveis, a grid não rola automaticamente, não sendo visível a seleção a partir da 10º linha selecionada. É possível corrigir esse fato?
    • Sugerido como Resposta Fehh Fernandes sexta-feira, 24 de março de 2017 12:31
    sexta-feira, 24 de março de 2017 12:16
  • int indexLinha = dgvPrincipal.SelectedRows[0].Index;
    dgvPrincipal.Rows[dgvPrincipal.SelectedRows[0].Index + 1].Selected = true;
    //Adicionando esse código você movimenta o scroll 
    dgvPrincipal.FirstDisplayedScrollingRowIndex = indexLinha;

    Att.

    Felipe Fernandes

    sexta-feira, 24 de março de 2017 12:31
  • Olá!

    Nosso amigo Felipe Fernandes já respondeu abaixo!

    Att,


    Fabio Rosa.

    • Marcado como Resposta lexmzr sexta-feira, 24 de março de 2017 13:14
    • Não Marcado como Resposta lexmzr sexta-feira, 24 de março de 2017 13:15
    sexta-feira, 24 de março de 2017 12:46
  • int indexLinha = dgvPrincipal.SelectedRows[0].Index;
    dgvPrincipal.Rows[dgvPrincipal.SelectedRows[0].Index + 1].Selected = true;
    //Adicionando esse código você movimenta o scroll 
    dgvPrincipal.FirstDisplayedScrollingRowIndex = indexLinha;

    Att.

    Felipe Fernandes

    Obrigado Amigos Fábio e Felipe
    • Marcado como Resposta lexmzr sexta-feira, 24 de março de 2017 13:16
    sexta-feira, 24 de março de 2017 13:16