Inquiridor
Erro ao percorrer gridview com checkbox

Pergunta
-
Olá galera. Tenho uma GridView para venda de produtos com um checkBox para o usuário selecionar o produto e um TextBox para digitar a qtde de produtos desejados. Fiz um for para percorrer a GridView e pegar somente os valores onde a checkbox foi selecionada, porém o laço percorre toda a Grid e pega somente valor da primeira checkBox selecionada. Se houver mais de uma checkbox selecionada, ele ignora. Já pedi ajuda aqui ajuda aqui e eles me ajudaram demais, porém só agora descobri esse erro. Segue abaixo meu código, se alguém puder ajudar, ficarei grato.
for (int i = 0; i < gvProdutos.Rows.Count; i++) { CheckBox ckSel = (CheckBox)gvProdutos.Rows[i].Cells[1].FindControl("ckSel"); if (ckSel.Checked) { ItensVenda iv = new ItensVenda { Produto = int.Parse((gvProdutos.Rows[i].Cells[0].Text)), Quantidade = int.Parse(((TextBox)gvProdutos.Rows[i].Cells[4].FindControl("tbQt")).Text), Valor = Convert.ToDecimal(gvProdutos.Rows[i].Cells[2].Text) }; valor = Convert.ToDouble(gvProdutos.Rows[i].Cells[2].Text); qtde = ((TextBox)gvProdutos.Rows[i].Cells[4].FindControl("tbQt")).Text; subtotal = subtotal + valor * int.Parse(qtde); itens.Add(iv); Produto p = new Produto(); estoque = Convert.ToInt32(gvProdutos.Rows[i].Cells[3].Text); estoque_atual = estoque - int.Parse(qtde); int resultEst = p.AtualizarEstoque(estoque_atual, int.Parse((gvProdutos.Rows[i].Cells[0].Text))); gvProdutos.DataBind(); } } desconto = Convert.ToInt32(tbDesconto.Text); subtotal = subtotal - desconto; total = subtotal;
Edinho
- Movido João_ Prado quarta-feira, 12 de junho de 2013 20:52 Webforms Gridview
Todas as Respostas
-
-
-
Cara se entendi você quer encontrar seu 1 Checkbox checado correto e assim parar a rotina...
La vai :
foreach (GridViewRow item in nomeseugrid.Rows) { CheckBox check = (CheckBox)item.FindControl("nomeseucheckbox"); if (check.Checked) { //aqui voce pega todos os dados que nescessita sacou }
Isso funciona perfeitamente...
Se for util marque como resposta ou util...
- Sugerido como Resposta Felipo Gonçalves sexta-feira, 14 de junho de 2013 18:46