GridView中CheckBox1选中行的数字累加问题
--------------------编程问答-------------------- 用JS做好点吧?
private void GetGrivewCount(bool Bpost) //关键性语句 获取Grivew 值
{
string zongshu = "0";//商品总数初始化
string zongjia = "0";//总价初始化
string zengpin = "0";//赠品金额初始化
for (int i = 0; i < GridView1.Rows.Count; i++) //遍历行
{
string jiage = (GridView1.Rows[i].Cells[4].Text.ToString());//获得该列的价格
string num = (GridView1.Rows[i].Cells[5].FindControl("TextBox2") as TextBox).Text;//获得该列的数量
int num22;
if (!int.TryParse((num), out num22))
{
Response.Write("<script>alert('只能输入数字!');location='javascript:history.go(-1)';</script>");
(GridView1.Rows[i].Cells[5].FindControl("TextBox2") as TextBox).Text = "1";
}
else
{
double xiaoji = double.Parse(jiage) * double.Parse(num); //计算该行的数量x单价=该行的金额
zongshu = Convert.ToString(Convert.ToInt16(zongshu) + Convert.ToInt16(num));
if ((GridView1.Rows[i].Cells[5].FindControl("CheckBox1") as CheckBox).Checked == true) //设为赠品,如果选中,那么整个GridView中的总价减掉该行的总金额。
{
string A = xiaoji.ToString();
zengpin = A;
///====================<SPAN style="COLOR: #ff0000">这里单行的赠品价格,目前单个选中能在总金额中减去,但还不能计算多行,多条信息,默认只能减去第一行金额???应该怎么写?</SPAN> }
else
{
(GridView1.Rows[i].Cells[5].FindControl("Label2") as Label).Text = xiaoji.ToString();
}
zongjia = Convert.ToString(Convert.ToInt32(zongjia) + Convert.ToInt16(xiaoji));
this.Label1.Text = zengpin;//赠品金额。
this.Label3.Text = Convert.ToString(Convert.ToInt32(zongjia) - Convert.ToInt16(zengpin));//应付总金额。
this.Label4.Text = zongshu;
this.Label5.Text = zongjia;//订单总金额
}
}
}
获取GridView中的checkbox
check的点击事件,选中加价格,取消减价格。
补充:.NET技术 , ASP.NET