改变GridView文本框内容,另一列自动更新。

 <asp:GridView
        AutoGenerateColumns="false"
        ID="GridView1" runat="server" Style="position: relative" OnRowDataBound="GridView1_RowDataBound">
            <Columns>
                <asp:TemplateField>
                   <ItemTemplate>
                       <asp:TextBox ID="price" runat="server" Style="position: relative"></asp:TextBox>
                   </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField>
                     <ItemTemplate>
                       <asp:TextBox ID="num" runat="server" Style="position: relative"></asp:TextBox>
                   </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField>
                     <ItemTemplate>
                       <asp:TextBox ID="amt" runat="server" Style="position: relative"></asp:TextBox>
                   </ItemTemplate>
                </asp:TemplateField>
            </Columns>
</asp:GridView>


using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;

public partial class SettleMent_Income_test10 : System.Web.UI.Page
{
    wsBill.wsBill mybill = new wsBill.wsBill();
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
                wsBill.BillQuery myBillQuery = new wsBill.BillQuery();
                DataSet ds = new DataSet();
                mybill.ExeQueryList(myBillQuery, ref ds);
                this.GridView1.DataSource = ds;
                this.GridView1.DataBind();
        }
    }
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {

        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            TextBox tbprice=(e.Row.Cells[0].FindControl("price") as TextBox);
            TextBox tbnum = (e.Row.Cells[1].FindControl("num") as TextBox);
            TextBox tbamt = (e.Row.Cells[2].FindControl("amt") as TextBox);
          
            if (tbprice != null && tbnum != null && tbamt != null)
            {
                if (!string.IsNullOrEmpty(tbprice.Text))
                {
                    tbprice.Text = "0";
                }
                if (!string.IsNullOrEmpty(tbnum.Text))
                {
                    tbnum.Text = "0";
                }
                tbamt.Text = decimal.Parse(decimal.Parse(tbnum.Text) * decimal.Parse(tbprice.Text)).ToString();
                StringBuilder script = new StringBuilder();
                //输入数值之后总自动金额更新
                script.Append(" var amount=0;");
                script.Append(" vAmt=document.getElementById('" + tbamt.ClientID + "');");
                script.Append(" vNum=document.getElementById('" + tbnum.ClientID + "');");
                script.Append(" vPrice=document.getElementById('" + tbprice.ClientID + "');");
                script.Append("var amt=parseFloat(vPrice.value)*parseFloat(vNum.value);");
                script.Append("vAmt.value=amt;");
                //只允许输入带小数的数字.
                string scriptOnKeyPress=@"return   /^[1-9]/d{9}/.test(this.value)?(//./.test(this.value)?(//./d{2}/.test

(this.value)?(event.keyCode==0):(event.keyCode>=48&&event.keyCode<=57)):(event.keyCode==46)):

(event.keyCode>=48&&event.keyCode<=57)";
                tbprice.Attributes.Add("onblur", script.ToString());
                tbprice.Attributes.Add("onkeypress", scriptOnKeyPress);

                tbnum.Attributes.Add("onblur", script.ToString());
                tbprice.Attributes.Add("onkeypress", scriptOnKeyPress);
            }
        }
    }
}

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值