none
Percorrer gridview e pegar valor de textbox RRS feed

  • Pergunta

  • Olá galera Estou tentando fazer um laço para percorrer a GridView, adicionei uma checkbox em uma coluna TempateField para selecionar o produto e uma textbox em outra coluna TemplateField para digitar a quantidade de produtos desejados. Tentei recuperar da seguinte forma, mas deu o erro "A cadeia de caracteres de entrada não estava em um formato incorreto." muito provavelmente porque ele não está achando o valor da textbox. Alguma dica? Obrigado.

        double total = 0;
                double subtotal = 0;
                double valor = 0;
                int qtde = 0;
                for (int i = 0; i < gvProdutos.Rows.Count; i++)
                {
                    CheckBox ckSel = (CheckBox)gvProdutos.Rows[i].Cells[1].FindControl("ckSel");
                    TextBox tbQt = (TextBox)gvProdutos.Rows[i].Cells[2].FindControl("tbQt");
                    if (ckSel.Checked)
                    {
                        qtde = Convert.ToInt32(gvProdutos.Rows[i].Cells[2].Text);//A cadeia de caracteres de entrada não estava em um formato incorreto.
                        valor = Convert.ToDouble(gvProdutos.Rows[i].Cells[1].Text);
                        subtotal = valor * qtde;
                        total = (subtotal + valor);

                    }
                }
                tbQtde.Text = qtde.ToString();
                tbSub.Text = subtotal.ToString();
                tbTotal.Text = total.ToString();

    Edinho

    quinta-feira, 25 de abril de 2013 12:29

Respostas

  • Voce precisa localizar o controle dentro da Celula.

    qtde = Convert.ToInt32(((TextBox)gvProdutos.Rows[i].Cells[2].FindControl("NomeDaTextBox")).Text);
    Edit: Faltou o cast...


    Att,

    Tiago


    • Editado TiagoR quinta-feira, 25 de abril de 2013 12:46
    • Marcado como Resposta Edinho Rodrigues quinta-feira, 25 de abril de 2013 14:16
    quinta-feira, 25 de abril de 2013 12:45