Usuário com melhor resposta
Atualizar grid automaticamente no _TextChanged de um textbox que esta dentro do grid

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();
}
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
Todas as 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