SELECIONAR DATAGRIDVIEW COM ENTER E BOTAO
Boa noite galera, beleza?
Estou iniciando com VB.NET (Visual Studio 2010) e estou com uma dúvida para selecionar a linha do datagridview com o enter e com o botão selecionar.
Eu consigo selecionar a linha correta com o enter, mas quando clico com o botão Selecionar ele traz a linha de cima ou de baixo. Já tentei de tudo no código mas não consegui.
Se alguém puder me ajudar ficarei muito grato.
Seguem abaixo os códigos que utilizei para facilitar onde estou errando:
Private Sub dgdCodGrupo_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles dgdCodGrupo.KeyPress
If e.KeyChar = Convert.ToChar(13) Then
e.Handled = True
[ô]btnSelecionar_Click_1(Me, e)
btnSelecionar.PerformClick()
End If
End Sub
Private Sub btnSelecionar_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSelecionar.Click
Dim tabcodpesq As Integer
Dim tabnomepesq As String
tabcodpesq = CInt(dgdCodGrupo.Rows(dgdCodGrupo.CurrentRow.Index - 1).Cells(0).Value)
tabnomepesq = dgdCodGrupo.CurrentRow.Cells(1).Value.ToString
[ô] Limpa o Formulário
btnLimpar_Click(Me, e)
[ô] Encerra o formulário
Me.Close()
End Sub
Obrigado.
Estou iniciando com VB.NET (Visual Studio 2010) e estou com uma dúvida para selecionar a linha do datagridview com o enter e com o botão selecionar.
Eu consigo selecionar a linha correta com o enter, mas quando clico com o botão Selecionar ele traz a linha de cima ou de baixo. Já tentei de tudo no código mas não consegui.
Se alguém puder me ajudar ficarei muito grato.
Seguem abaixo os códigos que utilizei para facilitar onde estou errando:
Private Sub dgdCodGrupo_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles dgdCodGrupo.KeyPress
If e.KeyChar = Convert.ToChar(13) Then
e.Handled = True
[ô]btnSelecionar_Click_1(Me, e)
btnSelecionar.PerformClick()
End If
End Sub
Private Sub btnSelecionar_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSelecionar.Click
Dim tabcodpesq As Integer
Dim tabnomepesq As String
tabcodpesq = CInt(dgdCodGrupo.Rows(dgdCodGrupo.CurrentRow.Index - 1).Cells(0).Value)
tabnomepesq = dgdCodGrupo.CurrentRow.Cells(1).Value.ToString
[ô] Limpa o Formulário
btnLimpar_Click(Me, e)
[ô] Encerra o formulário
Me.Close()
End Sub
Obrigado.
Porque vc esta colocando um btn para selecionar, não pode ser pelo clique no proprio grid ?
Boa noite Sr. Nilsontres.
Então, até pode, não havia pensado nessa hipótese, aliás nem sabia desse detalhe de selecionar a linha clicando nele.
Porque quando aperto o enter, ele me trás o código e o nome, em duas TextBox (uma para o código e outra para o nome).
Você saberia me informar o código para fazer dessa forma então?
Funcionaria com o Enter também ou tem que ser um ou outro?
Obrigado.
Então, até pode, não havia pensado nessa hipótese, aliás nem sabia desse detalhe de selecionar a linha clicando nele.
Porque quando aperto o enter, ele me trás o código e o nome, em duas TextBox (uma para o código e outra para o nome).
Você saberia me informar o código para fazer dessa forma então?
Funcionaria com o Enter também ou tem que ser um ou outro?
Obrigado.
Citação:aliás nem sabia desse detalhe de selecionar a linha clicando nele.
Desconfiei, por isso perguntei.
no evento CellClick do datagrid
Private Sub GRID1_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles GRID1.CellClick
If e.RowIndex < 0 Then Exit Sub [ô]para o código para evitar erro
MsgBox(GRID1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value)
End Sub
Bom dia, Nilsontres.
Eu testei o código que você informou, mas não seleciona, apenas mostra a mensagem.
Será que está faltando alguma coisa?
Eu testei o código que você informou, mas não seleciona, apenas mostra a mensagem.
Será que está faltando alguma coisa?
oq vc quer é quando clicar com o mouse na linha do datagridview passar o conteudo do datagriview para os textbox?
Bom dia Fellipeassis.
Isso, eu havia colocado um botão para selecionar, e me sugeriram quando clicar no datagrid fazer a função do botão selecionar.
São duas colunas, uma para o código e outra para o nome e traz em 2 TextBox.
é uma tabela com todos os códigos e nomes dos usuários cadastrados no programa que irão fazer o protocolo, e também vou utilizar esse mesmo código, para selecionar todos os clientes cadastrados.
Se puder me ajudar, também agradeço.
Obrigado.
Isso, eu havia colocado um botão para selecionar, e me sugeriram quando clicar no datagrid fazer a função do botão selecionar.
São duas colunas, uma para o código e outra para o nome e traz em 2 TextBox.
é uma tabela com todos os códigos e nomes dos usuários cadastrados no programa que irão fazer o protocolo, e também vou utilizar esse mesmo código, para selecionar todos os clientes cadastrados.
Se puder me ajudar, também agradeço.
Obrigado.
Sim, é uma msgbox, só para vc testar, agora altera conforme vc precisa, joga em textbox ou outra coisa.
textbox1.text=GRID1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value
Tem algo alem disso que vc quer fazer ?
textbox1.text=GRID1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value
Tem algo alem disso que vc quer fazer ?
bom no evento CellDoubleClick ou CellClick do datagridview
txtNome.Text = datagirdview.Rows(e.RowIndex).Cells([Ô]nome da sua coluna ou nº sem aspas[Ô]).Value
ou no botão
txtNome.Text = datagirdview.CurrentRow.Cells([Ô]nome da sua coluna ou nº sem aspas[Ô]).Value
txtNome.Text = datagirdview.Rows(e.RowIndex).Cells([Ô]nome da sua coluna ou nº sem aspas[Ô]).Value
ou no botão
txtNome.Text = datagirdview.CurrentRow.Cells([Ô]nome da sua coluna ou nº sem aspas[Ô]).Value
Boa noite Sr. Nilsontres e Fellipeassis, deu certo.
Muito obrigado pela ajuda.
Eu coloquei dessa forma o código e resolveu meu problema.
Private Sub dgdCodGrupo_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgdCodGrupo.CellDoubleClick
If e.RowIndex < 0 Then Exit Sub [ô]para o código para evitar erro
frmPesqProtocolos.txtNum_usuario.Text = (dgdCodGrupo.Rows(e.RowIndex).Cells(0).Value)
frmPesqProtocolos.txtNomeUsuario.Text = (dgdCodGrupo.Rows(e.RowIndex).Cells(1).Value)
Me.Close()
End Sub
Mais uma vez, muito obrigado pela ajuda, vou encerrar o tópico agora vlw
Muito obrigado pela ajuda.
Eu coloquei dessa forma o código e resolveu meu problema.
Private Sub dgdCodGrupo_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgdCodGrupo.CellDoubleClick
If e.RowIndex < 0 Then Exit Sub [ô]para o código para evitar erro
frmPesqProtocolos.txtNum_usuario.Text = (dgdCodGrupo.Rows(e.RowIndex).Cells(0).Value)
frmPesqProtocolos.txtNomeUsuario.Text = (dgdCodGrupo.Rows(e.RowIndex).Cells(1).Value)
Me.Close()
End Sub
Mais uma vez, muito obrigado pela ajuda, vou encerrar o tópico agora vlw
Tópico encerrado , respostas não são mais permitidas