2012-07-18 82 views
2

我是一個非常noob,這是我的第一個職位的傢伙,所以你的幫助是需要的 試圖禁用所有的單選按鈕控件在列表視圖時,我檢查一個複選框 ,它正在工作只有一行。如何禁用列表視圖中的單選按鈕

這裏是我的代碼:

protected void chkb_DG_NO_CheckedChanged(object sender, EventArgs e) 
     { 


        foreach (ListViewItem item in ListView1.Items) 
        { 
         RadioButton RD1 = (RadioButton)ListView1.Items[0].FindControl("R1"); 
         RadioButton RD2 = (RadioButton)ListView1.Items[0].FindControl("R2"); 
         RadioButton RD3 = (RadioButton)ListView1.Items[0].FindControl("R3"); 
         RadioButton RD4 = (RadioButton)ListView1.Items[0].FindControl("R4"); 
         RadioButton LD1 = (RadioButton)ListView1.Items[0].FindControl("L1"); 
         RadioButton LD2 = (RadioButton)ListView1.Items[0].FindControl("L2"); 
         RadioButton LD3 = (RadioButton)ListView1.Items[0].FindControl("L3"); 
         RadioButton LD4 = (RadioButton)ListView1.Items[0].FindControl("L4"); 
         RD1.Enabled = false; 
         RD2.Enabled = false; 
         RD3.Enabled = false; 
         RD4.Enabled = false; 
         LD1.Enabled = false; 
         LD2.Enabled = false; 
         LD3.Enabled = false; 
         LD4.Enabled = false; 
        } 

     } 

我應該怎麼改?

回答

0

RadioButton單獨工作。把RadioGroup作爲父節點,只設置一個RadioButton活動。

+0

它在組! – 2012-07-19 10:03:04

3

我假設你使用Windows窗體。把所有的RadioButtons放在一個容器中,比如一個Panel或一個GroupBox。然後,你所有的RadioButton將被組合在一起。一切都在this MSDN page解釋。

一旦你完成了這個任務,遍歷這個組的控制,以及禁止各一個,用這樣的僞代碼:

foreach (RadioButton rButton in groupBox) { 
       rButton.Enabled = this.Enabled; 
} 

或者,只需輸入此代碼:

groupBox.Enabled = false; 

禁用groupbox及其中的所有控件。

+1

爲什麼不只是禁用GroupBox? – Antagony 2012-07-18 11:01:11

+0

@Antagony你是對的。最簡單的解決方案是最好的。 – 2012-07-18 21:06:50

+0

我正在使用asp.net我想重複一個區域有2組收音機,我沒有使用中繼控制,而是我使用了列表視圖控件,它的工作完美,現在我每行都有一行與8個單選按鈕(2組)和一個複選框,我想寫命令,禁用所有的行控制,包括單選按鈕,正如我所說...與上述代碼我只能禁用一行,當我檢查第二行復選框第一行的單選按鈕被禁用。我知道造成這種情況的原因,這是因爲我在只應用於第一行的代碼中使用[0]。 – 2012-07-19 10:09:43

相關問題