none
Pegar dados das linhas do datagridview com foreach. RRS feed

  • Pergunta

  • Ola.

    Estou desenhando uma página de impressão, linha por linha, retângulos, nomes, etc..

    Em alguns lugares, estou linkando as textbox do form, para que essas sejam exibidas no documento impresso. Até ai tudo funcionou perfeitamente. Meu problema agora é: como apresentar linha por linha da dataGridView que possuo no form. Meu professor sugeriu utilizar o foreach para criar um looping e ir adicionando as linhas. O problema é que não consigo chamar os dados das linhas. Tentei códigos diferentes mas não foi...

    Sou iniciante em C# e isso complica bastante.

    Um trecho do código para que vejam essa coisa...

    int espaco = 420;//Posição y onde as informações serão colocadas. foreach (DataGridViewRow row in dataGridViewEquipamentos.Rows) { //tentando desenhar as informações da datagridview...

    //Estou utilizando o e.graphics... para desenhar as coisas.

    e.Graphics.DrawString("não sei oque por aqui", letra1, cor, new Point(40, espaco + 2)); espaco += 20;//para pular as linhas. }



    quarta-feira, 7 de junho de 2017 00:55

Respostas

  • Oi, Renato Kapiano<abbr class="affil"></abbr>.

    Perguntei, porque em questões de How to/ Customização como a tua (Pois existem N maneiras de fazer algo), a melhor alternativa seria você seria abrir uma discussão. Assim junto com a comunidade, você poderá discutir, ser ajudado e chegar na melhor maneira para você obter o resultado desejado.

    Para abrir uma discussão, faça o mesmo que faz para abrir uma pergunta, mas ao invés de marcar como pergunta, você marca como discussão. :)

    Exemplo:

    quarta-feira, 7 de junho de 2017 16:19

Todas as Respostas

  • Bom dia, Renato Kapiano.

    Essa seria uma questão de "Break Fix/Erro" ou "How to/Customização"?
    quarta-feira, 7 de junho de 2017 11:26
  • Boa tarde Filipe.

    Obrigado por responder.

    Acho que esta no meio dos dois, pois eu já tentei fazer de algumas formas que vi na internet, mas deram erro.

    Então, ou essas formas que vi não servem pro meu caso, ou eu não estou sabendo colocar da maneira correta no código.

    Ja tentei com isto (Foi a que me pareceu mais correta):

    O trecho "row.Cells[3].Value.ToString()" esta no lugar onde devo por o texto que irá aparecer na página. Estou tentando pegar o valor das células das linhas, três no total e convertendo pra String pra apresentar.

     e.Graphics.DrawString(row.Cells[3].Value.ToString(), letra1, cor, new Point(40, espaco + 2));

    Mas quando executo a aplicação aparece esse erro:

    "System.ArgumentOutOfRangeException: 'O índice estava fora do intervalo. Ele deve ser não-negativo e menor que o tamanho da coleção."  

    (O erro aparece na frente dessa linha de código que postei)

    Minha conta ainda não foi verificada, então não consigo postar fotos, perdão.

    E pra falar a verdade, não entendi oque quer dizer...

    De qualquer modo, eu precisaria colocar todas as linhas preenchidas que a gridview tiver na página de impressão.

    Se tiver outra maneira, sem ser essa que estou tentando fazer, mas que funcione, eu aceito.



    quarta-feira, 7 de junho de 2017 15:54
  • Oi, Renato Kapiano<abbr class="affil"></abbr>.

    Perguntei, porque em questões de How to/ Customização como a tua (Pois existem N maneiras de fazer algo), a melhor alternativa seria você seria abrir uma discussão. Assim junto com a comunidade, você poderá discutir, ser ajudado e chegar na melhor maneira para você obter o resultado desejado.

    Para abrir uma discussão, faça o mesmo que faz para abrir uma pergunta, mas ao invés de marcar como pergunta, você marca como discussão. :)

    Exemplo:

    quarta-feira, 7 de junho de 2017 16:19
  • Obrigado Filipe, vou fazer isso.
    quarta-feira, 7 de junho de 2017 16:32
  • :) beleza
    quarta-feira, 7 de junho de 2017 16:43