none
Erro na Grid ao clicar para passar valor RRS feed

  • Pergunta

  • Olá pessoal.

    Quando clico na grid:

    Não vai! Ele já aparece os dados da linha 1, quando inicia o form, mas se clico na 2 pra exibir, não vai! Aparece isso:

    Alguém pode me ajudar? Segue o código:

    private void mDataGrid_SelectionChanged(object sender, EventArgs e)
            {
                lblIDOcorrencia.Text = mDataGrid.CurrentRow.Cells[0].Value.ToString();
                lblNomeEmpresa.Text = mDataGrid.CurrentRow.Cells[2].Value.ToString();
                lblCC.Text = mDataGrid.CurrentRow.Cells[1].Value.ToString();
                lblVData.Text = mDataGrid.CurrentRow.Cells[3].Value.ToString();
                txtVDescricao.Text = mDataGrid.CurrentRow.Cells[4].Value.ToString();
                lblVCausa.Text = mDataGrid.CurrentRow.Cells[5].Value.ToString();
                lblVPDCA.Text = mDataGrid.CurrentRow.Cells[6].Value.ToString();
                lblVValidacao.Text = mDataGrid.CurrentRow.Cells[7].Value.ToString();
    
                lblIDOcorrencia.Text = mDataGrid.CurrentRow.Cells[0].Value.ToString();
                lblNomeEmpresa.Text = mDataGrid.CurrentRow.Cells[2].Value.ToString();
                lblCC.Text = mDataGrid.CurrentRow.Cells[1].Value.ToString();
                lblVData.Text = mDataGrid.CurrentRow.Cells[3].Value.ToString();
                txtVDescricao.Text = mDataGrid.CurrentRow.Cells[4].Value.ToString();
                lblVCausa.Text = mDataGrid.CurrentRow.Cells[5].Value.ToString();
                lblVPDCA.Text = mDataGrid.CurrentRow.Cells[6].Value.ToString();
                lblVValidacao.Text = mDataGrid.CurrentRow.Cells[7].Value.ToString();
    
            }

    Obrigado por qualquer ajuda! :D

    sexta-feira, 24 de fevereiro de 2017 20:17

Respostas

  • Tente descobrir qual é o índice que está no CurrentRow do grid. Apenas repouse o mouse sobre cada propriedade, que aparecerá as informações dela para você navegar. Assim você poderá descobrir, entre outras coisas, o índice da CurrentRow, o conteúdo da célula, enfim. Sem ter estas informações, fica difícil de saber o que é o problema. Também experimente comentar esta linha, e ver se o problema é só nela.
    sexta-feira, 24 de fevereiro de 2017 21:10

Todas as Respostas

  • Olá, Jessé!

       Se o seu datagrid está habilitado para adicionar uma nova linha, é possível que ele esteja setando esta nova linha como CurrentRow. Tenta mudar para isto:

    lblIDOcorrencia.Text = mDataGrid.SelectedRows[0].Cells[0].Value.ToString();

    Bom trabalho!

    sexta-feira, 24 de fevereiro de 2017 20:34
  • Olá, Jessé!

       Se o seu datagrid está habilitado para adicionar uma nova linha, é possível que ele esteja setando esta nova linha como CurrentRow. Tenta mudar para isto:

    lblIDOcorrencia.Text = mDataGrid.SelectedRows[0].Cells[0].Value.ToString();

    Bom trabalho!


    Ainda não corrigiu meu problema :/
    sexta-feira, 24 de fevereiro de 2017 20:40
  • Jessé, eta mensagem significa que na instância que você está querendo pegar do grid, o conteúdo de Value é null, e null não pode ser convertido para string. Pode ser que o conteúdo ainda não esteja de fato gravado na célula e, neste caso, tente:

    lblIDOcorrencia.Text = mDataGrid.CurrentRow.Cells[0].FormattedValue.ToString();
    Mas tente descobrir qual é o index da CurrentRow do grid, aí você terá a ideia de qual é o problema.

    sexta-feira, 24 de fevereiro de 2017 20:49
  • Continua... :/

    sexta-feira, 24 de fevereiro de 2017 20:54
  • Tente descobrir qual é o índice que está no CurrentRow do grid. Apenas repouse o mouse sobre cada propriedade, que aparecerá as informações dela para você navegar. Assim você poderá descobrir, entre outras coisas, o índice da CurrentRow, o conteúdo da célula, enfim. Sem ter estas informações, fica difícil de saber o que é o problema. Também experimente comentar esta linha, e ver se o problema é só nela.
    sexta-feira, 24 de fevereiro de 2017 21:10