none
Evento apertar tecla ENTER em um DataGrid RRS feed

  • Pergunta

  • Pessoal, tenho um datagrid em um form de consulta e a ideia eh programa os eventos do clique duplo e da tecla enter.

    Quando uma linha for selecionada no grid e o usuario der um clique duplo na linha ou apertar Enter, ele envia os dados das c[elulas para um form anterior.

    N'ao estou conseguindo programar o evento do pressionar ENTER... ja me dera a seguinte dica:

    private void Fomr1_KeyPress(object sender, KeyPressEventArgs e)
            {
                if (e.KeyChar == (Char)Keys.Enter)
                {                
                    if (dataGridView1.SelectedRows.Count > 0)
                    {
                        var CodigoNivelEnsino = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
                        var NivelEnsino = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();
                    }
                }
            }

    So que ta dando erro, ele insere os valores aleatoriamente..... o que esta saindo errado////

    segunda-feira, 26 de agosto de 2013 12:42

Respostas

  • Como assim insere os valores aleatoriamente?

    Oque retorna destas duas linhas de código?

    var CodigoNivelEnsino = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
    var NivelEnsino = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();

    Acho que ficaria assim:

    private void Fomr1_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == (Char)Keys.Enter) { if (dataGridView1.SelectedRows.Count > 0) { var CodigoNivelEnsino = dataGridView1.SelectedRows[0].Cells[0].Value.ToString(); var NivelEnsino = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();

    ((Form_Turmas)this.Owner).CodigoNivelEnsino = CodigoNivelEnsino;

    ((Form_Turmas)this.Owner).NomeNivelEnsino = NivelEnsino;

    this.CLose(); } } }


    • Marcado como Resposta Jalber Romano terça-feira, 27 de agosto de 2013 12:37
    segunda-feira, 26 de agosto de 2013 13:10

Todas as Respostas

  • Como assim insere os valores aleatoriamente?

    Oque retorna destas duas linhas de código?

    var CodigoNivelEnsino = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
    var NivelEnsino = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();

    Acho que ficaria assim:

    private void Fomr1_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == (Char)Keys.Enter) { if (dataGridView1.SelectedRows.Count > 0) { var CodigoNivelEnsino = dataGridView1.SelectedRows[0].Cells[0].Value.ToString(); var NivelEnsino = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();

    ((Form_Turmas)this.Owner).CodigoNivelEnsino = CodigoNivelEnsino;

    ((Form_Turmas)this.Owner).NomeNivelEnsino = NivelEnsino;

    this.CLose(); } } }


    • Marcado como Resposta Jalber Romano terça-feira, 27 de agosto de 2013 12:37
    segunda-feira, 26 de agosto de 2013 13:10
  • Obrigado pela resposta Joao...


    Bom, quando eu apertava o enter, em vez dele inserir Tipo: codigo do Nivel Ensino ==> 1 e nome no nivel de ensino Ensino Medio, ele usava o numero de outro registro para o codigo....

    Vou tentar fazer da sua maneira para ver se da certo...

    Obrigado pela dica! se der errado, volto novamente kkkkkkkkk

    private void Fomr1_KeyPress(object sender, KeyPressEventArgs e)
            {
                if (e.KeyChar == (Char)Keys.Enter)
                {                
                    if (dataGridView1.SelectedRows.Count > 0)
                    {
                        var CodigoNivelEnsino = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
                        var NivelEnsino = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();
                    }
                }
            }


    segunda-feira, 26 de agosto de 2013 13:17
  • Se possível, vote na resposta. :)
    segunda-feira, 26 de agosto de 2013 13:19
  • Olá João Marques! Acho que estava dando errado pq estavam faltando essas duas linhas de código mesmo.

        ((Form_Turmas)this.Owner).CodigoNivelEnsino = CodigoNivelEnsino;
                ((Form_Turmas)this.Owner).NomeNivelEnsino = NivelEnsino; 

    Ainda nw testei pois meu BD está em meu notebook, em casa. Estou no trabalho agora, mas já acrescentei essas duas novas linhas conforme sua sugestão. Hj à noite eu testarei, se Deus quiser!

    Amanhã, postarei aqui se deu certo ou nw. Obrigado pela ajuda mano! Que Deus te abençoe, sempre!

    :)

                

    segunda-feira, 26 de agosto de 2013 15:15
  • Bom dia Joao.. Continua dando errado.... vou fechar este threed e abrir novamente com os prints das telas...

    Obrigado.

    terça-feira, 27 de agosto de 2013 12:36