在GridView控件内文本框实现TextChanged事件,勾选复选框时 :textbox文本框可编辑,编辑文本框的数字后 总金额会重新计算并统计...

关于gridview中勾选复选框 并激发文本框中的事件
如下图所示  

勾选复选框时 :文本框可编辑,编辑文本框的数字后 总金额会重新计算并统计

1. 首先需要在后台写一个计算的方法

写方法的代码我就不写了,然后在勾选复选框的时候,写一个触发事件。(我写的是将页面的数据存在临时表中 datatable和list 都可以这个因人而异)

2.GridView控件内文本框的TextChanged 不能直接写在RowDataBound中  我之前就是卸载这个事件中, 页面加载的时候进去了

可勾选的时候死活不会触发事件,后来发现这个需要把事件写在RowCreated中

两者的区别在于:

RowDataBound是在GridView控件生成时生成,只一次;

而RowCreated在GridView的每个事件PostBack时,都是重新生成。

所以首先得在GridView中写这个

onrowdatabound="GrdVewInvoiceHeader_RowDataBound"

后台代码如下:

    protected void GrdVewInvoiceHeader_RowCreated(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowIndex >= 0)
        {
            TextBox txtPaidTaxAmt = (TextBox)e.Row.Cells[10].FindControl("txtPaidTaxAmt");//文本金额
            txtPaidTaxAmt.TextChanged += txtPaidTaxAmt_TextChanged;

        }
    }
    protected void txtPaidTaxAmt_TextChanged(object sender, EventArgs e)
    {
        TextBox txtPaidTaxAmt = (TextBox)sender;
        SumTotleAmt();//计算合计金额
    }

  这样就搞定啦

转载于:https://www.cnblogs.com/happychen/p/5512301.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值