我有這個問題的複選框(內部GridView控件),我一直在尋找的淨和開裂我的大腦來對付這個問題..for循環來檢索複選框中的GridView
什麼,我現在是,
(這是我的GridView)
id amount($)
1 5 checkbox
2 13 checkbox
3 25 checkbox
我有一個初始值(例如$ 1000)。每當我檢查GridView中的複選框時,它會從初始值減去。 如果我檢查id = 1,初始值將被扣除並顯示$ 995。
,如果我繼續檢查其他複選框假設ID = 3(所以現在我有檢查2複選框),金額將顯示$ 970現在。
目前,它制定了罰款的第一個複選框選中,不過隨後的複選框是給我的問題..而不是扣除$ 25,但扣除$ 30(25 + 5)
這裏是我的代碼:
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
foreach (GridViewRow row in GridView2.Rows)
{
CheckBox selectChk = (CheckBox)row.FindControl("CheckBox1");
if (selectChk != null && selectChk.Checked)
{
String amount = ((Label)row.FindControl("amt")).Text;
double amtSpend = Convert.ToDouble(usedSpace);
double left = 100 - amtSpend;
totalLbl.Text = left.ToString();
}
我的想法是,因爲它是裏面一個for循環,這就是爲什麼每次2號複選框檢查,它會再次運行整個for循環,這將包括第一複選框的量。無論如何,我能解決這個問題嗎? (同樣爲第三複選框,它將包括在第一和第二複選框AMT)
或者是有,我可以得到複選框GridView控件,而無需使用for循環檢查特定行的任何方法?
我想你可能已經使用相同的名稱「Checkbox1」爲網格的每個行中的每個複選框,因此在網格中的每一行,它是越來越checkbox1,做按您的代碼。 – BVMR