GridView控件中有3列模板列,分别是TextBox1,TextBox2,TextBox3,
分别是单价,数量和金额,要求输入单价,数量,自动计算出金额?请问怎么实现
分别是单价,数量和金额,要求输入单价,数量,自动计算出金额?请问怎么实现
解决方案 »
- 一个简单的批处理 问题
- 求助三级联动 dropdownlist2 加载不了数据
- JS使用数据库数据
- 右键菜单 框架
- 从一个页面取得的数据,如何在其它的每个页面中都可以读取??
- |M| 学习写控件:第十贴: 我的控件继承WebControls.WebControl 他自动生成了一个ForeColor 我要怎样在我的控件里去掉这个属性 谢谢
- 复选框为何不能用RequiredFieldValidator属性?
- 如何取得DataSet中当前行指定当的值?
- 关于ActiveX控件(OCX)的两个问题
- 后台设置页面不可填写
- 正则表达式问题#([A-Fa-f0-9]{2}) 中的#号是什么意思?
- 遇到鬼了,存储过程还能这样调用?
如果用后台代码实现,关键是确定参与计算的控件到底在哪一行.
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType != DataControlRowType.Header && e.Row.RowType != DataControlRowType.Footer)
{
TextBox tb1= (TextBox )e.Row.Cells[0].FindControl("TextBox1");
TextBox tb2= (TextBox )e.Row.Cells[1].FindControl("TextBox2");
Label lb= (Label )e.Row.Cells[3].FindControl("Label1");
try
{
lb.Text=String.Parse(Int32.Parse(tb1.Text.Trim())+Int32.Parse(tb2.Text.Trim()));
}
catch
{}
}
}
后台里面写按钮的点击事件,具体的事件如下:
for (int i = 0; i < grd.Rows.Count; i++)
{
GridViewRow gvr = grd.Rows[i];
TextBox tb1 = (TextBox)gvr.FindControl("txtCount");
TextBox tb2 = (TextBox)gvr.FindControl("txtUnitsPrice");
Label lb = (Label)gvr.FindControl("lblAmount");
tb1.CausesValidation = false;
tb2.CausesValidation = false;
double sum = 0;
try
{
sum = (double.Parse(tb1.Text.Trim()) * double.Parse(tb2.Text.Trim()));
lb.Text = sum.ToString();
}
catch (Exception ex)
{
throw ex;
}
}