none
Atualizar grid automaticamente no _TextChanged de um textbox que esta dentro do grid RRS feed

  • Pergunta

  • Olá pessoal,

    Eu tenho um gridview que contém dois textbox.

    eu preciso atualizar o gridview no evento _TextChanged do textbox, já fiz o codigo para isso mas mas quando mudo o valor do textbox (e deixo um breakpoint no codigo do evento) ele não chega ao evento.

    Alguem pode me ajudar?

            protected void gdvCarrinhoDetalhado_RowDataBound(object sender, GridViewRowEventArgs e)
            {
                if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    ProdutoDTO produto = new ProdutoDTO();
                    produto = (ProdutoDTO)e.Row.DataItem;


                    e.Row.Cells[0].Text = produto.Nome;
                    e.Row.Cells[1].Text = produto.Valor.ToString();


                    TextBox quantidade = (TextBox) e.Row.Cells[2].FindControl("txbQuantidade");
                    TextBox desconto = (TextBox)e.Row.Cells[3].FindControl("txbDesconto");


                    quantidade.Text = produto.Quantidade.ToString();
                    desconto.Text = "0.0" ;


                    e.Row.Cells[4].Text = Convert.ToString((Convert.ToInt32(quantidade.Text) * produto.Valor) - Convert.ToDouble(desconto.Text)) ;
                }
            }

            protected void txbQuantidade_TextChanged(object sender, EventArgs e)
            {
                ProdutoDTO novoProduto = new ProdutoDTO();


                TextBox txtQuantidade = ((TextBox)(sender));
                GridViewRow gv1 = ((GridViewRow)(txtQuantidade.NamingContainer));


                CarrinhoDeComprasBLL bll = new CarrinhoDeComprasBLL();
                novoProduto = bll.getProdutoByPosition(gv1.RowIndex);


                novoProduto.Quantidade = Convert.ToInt32(txtQuantidade.Text);
                carrinho.removeProductByPosition(gv1.RowIndex);
                carrinho.setProduto(novoProduto);


                if (Session["PRODUTOSCARRINHO"] != null)
                {
                   Session["PRODUTOSCARRINHO"] = null;
                    Session["PRODUTOSCARRINHO"] = carrinho;
                }
                else
                {
                    Response.Redirect("Vendas.aspx");
                }


                gdvCarrinhoDetalhado.DataSource = carrinho.getProdutos();
                gdvCarrinhoDetalhado.DataBind();
            }
    segunda-feira, 12 de março de 2012 11:40

Respostas

  • Está sim, segue o código

    <input type="text" id="gdvCarrinhoDetalhado_ctl02_txbQuantidade"

    onkeypress="if (WebForm_TextBoxKeyHandler(event) == false) return false;"

    onchange="javascript:setTimeout('__doPostBack(\'gdvCarrinhoDetalhado$ctl02$txbQuantidade\',\'\')', 0)"

    name="gdvCarrinhoDetalhado$ctl02$txbQuantidade">



    • Editado Tecnowancer terça-feira, 13 de março de 2012 11:35
    • Marcado como Resposta Harley Araujo quarta-feira, 14 de março de 2012 13:07
    terça-feira, 13 de março de 2012 11:35

Todas as Respostas

  • Vc tem ctza q o evento está no html na sua textbox?

    Não esqueça de usar o componente </> na barra para posta seu código. Microsoft MCPD,MCTS,MCC

    segunda-feira, 12 de março de 2012 12:00
    Moderador
  • Está sim, segue o código

    <input type="text" id="gdvCarrinhoDetalhado_ctl02_txbQuantidade"

    onkeypress="if (WebForm_TextBoxKeyHandler(event) == false) return false;"

    onchange="javascript:setTimeout('__doPostBack(\'gdvCarrinhoDetalhado$ctl02$txbQuantidade\',\'\')', 0)"

    name="gdvCarrinhoDetalhado$ctl02$txbQuantidade">



    • Editado Tecnowancer terça-feira, 13 de março de 2012 11:35
    • Marcado como Resposta Harley Araujo quarta-feira, 14 de março de 2012 13:07
    terça-feira, 13 de março de 2012 11:35