none
usar laço para pegar os valores das células da linha selecionada em um datadrigview c# RRS feed

  • Pergunta

  • Ola galera, estou trabalhando com windowsform C# e com um datagridview com o seguinte layout:

    São quatro colunas e varias linhas que vem de uma table do Banco de dados.

    idcurso nome_do_curso carga_horaria  valor

    01 CSharp 120 4580.00

    02 Excel 15 320.00

    03 Word 20 180.00

    Eu preciso clicar na linha 01 e copiar todos os valores das células para uma outra tabela. Estou usando o laço for:

    for(int i = 0; ii > dgvCursos.Columns.Count; i++)

    {

     //vai para banco de dados

    Idcurso =Convert.ToInt32(datagridview .Rows[i].Cells[0].Value);

    }

    Mas como o datadrigview recebe os dados de uma outra tabela, na hora de salvar ele está criando vários registro e não apenas o que eu selecionei.

    sábado, 16 de agosto de 2014 23:22

Respostas

  • para resolver esse problema usei um array

    Veja.

    ArrayList arrList = new ArrayList();
                foreach (DataGridViewCell cell in dgvCursos.CurrentRow.Cells)
                {
                    arrList.Add(cell.Value.ToString());
                }

    Agora você manda as posições do array para suas variáveis. ou datagrid

    • Marcado como Resposta Fabrício Mendes terça-feira, 21 de outubro de 2014 12:17
    terça-feira, 21 de outubro de 2014 12:17

Todas as Respostas

  • Olá Fabricio,

     isso ocorre porque seu laço itera sobre todas as linhas de seu GridView, use a propriedade "SelectedCells" para ler o valor da linha selecionada ! Qualquer dúvida poste novamente !

    segunda-feira, 18 de agosto de 2014 10:30
  • para resolver esse problema usei um array

    Veja.

    ArrayList arrList = new ArrayList();
                foreach (DataGridViewCell cell in dgvCursos.CurrentRow.Cells)
                {
                    arrList.Add(cell.Value.ToString());
                }

    Agora você manda as posições do array para suas variáveis. ou datagrid

    • Marcado como Resposta Fabrício Mendes terça-feira, 21 de outubro de 2014 12:17
    terça-feira, 21 de outubro de 2014 12:17