2013-12-14 50 views
1
protected void ChkPayment_CheckChanged(object sender, EventArgs e) 
{ 
    foreach (GridViewRow gvrow in grvPaymentList.Rows) 
    { 
     var Selection = gvrow.FindControl("ChkSelected") as CheckBox; 

     decimal Total=0; 
     decimal abc=0; 
     if (Selection.Checked) 
     { 
      var moviePrice = gvrow.FindControl("MoviePrice") as Label ; 
      abc = Convert.ToDecimal(moviePrice.Text); 
     } 
     Total = Total + abc; 
     lblAmount.Text = Total.ToString(); 
    }   
} 

选中复选框并将标签中的金额合计。我怎么能实现它,因为我得到错误从字符串转换为十进制。你需要在这里解决计算金额,同时选中gridview中的复选框

回答

3

两件事:

  1. 的moviePrice变量类型的标签,因此你不能将其转换为十进制。您应该改用moviePrice.Text。
  2. 当你计算总数时,它应该是Total = Total + abc。

编辑:总变量需要在循环外声明。现在发生的事情是你在循环中声明了变量,所以它在循环的每次迭代期间被重置。

+0

我仍然无法添加当我检查second.Izzit需要使用循环。 – Michael

+1

更新了我的答案。请让我知道,如果这有帮助。 –

+1

完美的工作,感谢@ shree.pat18寻求帮助。 – Michael