none
C# win forms - Como pegar a linha atual do Dgv? RRS feed

  • Pergunta

  • /// tenho o seguinte codigo - quando muitos itens assim que aperto Enter ele vai para a linha

    de baixo e pegaa o valor da linha; private void dgvContatos_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == 13) { try { //quando tenho varios itens no Dgv o codigo abaixo, funciona blza int sel = gvContatos.CurrentRow.Index -1; // mas se eu tenho um unico iten, ele da erro, entao eu mudei para : int sel = gvContatos.CurrentRow.Index ; //neste caso se tenho uma unica linha, da certo, mas se tenho varias linhas ele pega a linha de baixo nao sei o que fazer.



    • Editado TiagoJesusTJS quinta-feira, 24 de novembro de 2016 18:09
    quinta-feira, 24 de novembro de 2016 17:27

Respostas

  • E se você usar:

    if (datagridview.SelectedRows.Count > 0)
        var linha = datagridview.SelectedRows[0].Index;


    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".

    Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".

    • Marcado como Resposta TiagoJesusTJS segunda-feira, 26 de dezembro de 2016 17:44
    quinta-feira, 24 de novembro de 2016 18:15

Todas as Respostas

  • Tente com RowIndex:

    datagridview.CurrentCell.RowIndex


    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".

    Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".

    • Marcado como Resposta TiagoJesusTJS quinta-feira, 24 de novembro de 2016 17:52
    • Não Marcado como Resposta TiagoJesusTJS quinta-feira, 24 de novembro de 2016 18:05
    quinta-feira, 24 de novembro de 2016 17:39
  • amigo testei no form errado, com o CurrentCell, ele funciona da mesma forma como o
    .CurrentRow.Index ;
    me desculpe.
    • Editado TiagoJesusTJS quinta-feira, 24 de novembro de 2016 18:06
    quinta-feira, 24 de novembro de 2016 17:53
  • E se você usar:

    if (datagridview.SelectedRows.Count > 0)
        var linha = datagridview.SelectedRows[0].Index;


    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".

    Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".

    • Marcado como Resposta TiagoJesusTJS segunda-feira, 26 de dezembro de 2016 17:44
    quinta-feira, 24 de novembro de 2016 18:15
  • nao deu, o Dgv recebe o foco, e eu seleciono a linha com as setas do teclado e aperto entre, ele acusa como vazio
    quinta-feira, 24 de novembro de 2016 18:42
  • O SelectionMode do dgv está como FullRowSelect?

    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".

    Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".

    quinta-feira, 24 de novembro de 2016 18:50
  • sim, e quando eu clico, funciona, mas se eu clicar em outra linha sem segurar o ctrl ele tbm nao segura a seleçao anterior. to cheio de problemas, rs
    quinta-feira, 24 de novembro de 2016 22:02
  • Verifique se você não está alterando alguma propriedade do grid como CurrentCell ou CurrentRow em outro evento. 

    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".

    Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".

    sexta-feira, 25 de novembro de 2016 09:33
  • nao estou mexendo com nenhuma delas.
    eu so queria pegar a linha no qual aperto enter;
    sexta-feira, 25 de novembro de 2016 11:26
  • É um projeto de estudo? Se for compartilhe o código (OneDrive, por exemplo) que eu dou uma olhada. Fica mais fácil pra não extender a thread.

    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".

    Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".

    domingo, 27 de novembro de 2016 16:32