INDICE DO DATAGRIDVIEW
Gostaria de saber como obter o Ãndice de uma linha do DataGridView quando eui clicar com o Mouse sobre ela.
è que eu estou usando botões de navegação (o cliente quis assim) para navegar entre os registros do DataGridView, então eu obtendo o Ãndice da linha, vou colocar o código nos eventos dos botões anterior, próximo, etc.
Coloquei esse código no evento KeyUp do DataGridView para o botão próximo:
Private Sub DgvDocumentos_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles DgvDocumentos.KeyUp
If e.KeyCode = Keys.Down Then
indice = DgvDocumentos.CurrentRow.Index - 1
BtnProximoItem_Click(sender, e)
End If
End Sub
Neste código, quando o usuário utilizar o teclado, na linha que ele posicionar, vai guardar o Ãndice da linha e executar o código do botão próximo. Dessa maneira está funcionando, mas eu preciso saber o Ãndice da linha quando o usuário clicar sobre uma linha no DataGridView. Não sei como fazer e nem em qual evento devo colocar o código. Será que alguém pode me ajudar?
Até mais.
MsgBox(DataGridView1.CurrentRow.Index)
End Sub
Não entendi porque você colocou um evento de Key_Up no Datagrid que percorre as linhas, até porque quando o foco está no datagrid, já é possivel navegar nele com as setas direcionais sem problemas.
Agora para navegar no datagrid sem estar com ela no foco, eu utilizo o seguinte.
Citação:
[ô]Descer
If FGRID.RowCount <> 0 Then
If FGRID.CurrentRow.Index = FGRID.RowCount - 1 Then
Else
FGRID.Rows(FGRID.CurrentRow.Index).Selected = False
FGRID.Rows(FGRID.CurrentRow.Index + 1).Selected = True
FGRID.CurrentCell = FGRID.Rows(FGRID.CurrentRow.Index + 1).Cells(0)
End If
End If
Citação:
[ô]Subir
If FGRID.RowCount <> 0 Then
If FGRID.CurrentRow.Index = 0 Then
Else
FGRID.Rows(FGRID.CurrentRow.Index).Selected = False
FGRID.Rows(FGRID.CurrentRow.Index - 1).Selected = True
FGRID.CurrentCell = FGRID.Rows(FGRID.CurrentRow.Index - 1).Cells(0)
End If
End If
Troque o nome FGRID para o node do seu DataGridView.
Adicione este evento em um botão, ou até mesmo no evento key_up e Key_Down.
Abraços
Já consegui fazer o que eu queria.
Muito obrigado.
Estou fechando o tópico.
Até mais.