2012-12-28 185 views
-2

我編寫了一個代碼,可以使用gridview複選框,它工作正常。之後我被告知修改它,以啓用複選框來檢查所有內容。請在C#中如何處理它。我已經檢查過Google和這個網站,找不到任何可以幫助我解決問題的事情。使用複選框來檢查C#中的其他複選框

+1

好吧,給我們代碼 –

回答

1

您應該使用OnSelectedIndexChanged事件。

添加您的複選框:

<asp:CheckBoxList ID="CheckBoxList1" runat="server" AutoPostBack="true" 
    DataSourceID="SqlDataSource1" DataTextField="name" DataValueField="name" 
    OnSelectedIndexChanged="CheckBoxList1_SelectedIndexChanged"> 
</asp:CheckBoxList> 

爲了使其他複選框,您可以使用下面的代碼部分。

protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    //anotherCheckbox.Checked = true; 
} 

爲了檢查下面的所有條目,代碼部分可以幫助你。

for(int i = 1; i < anotherCheckbox.Items.Count; i++) 
{ 
    anotherCheckbox.SetItemChecked (i, true); 
} 

而你應該從SelectedIndexChanged調用此循環。

1

試試這個

<asp:CheckBox id="chkBox" runat="server" 
       AutoPostBack="True" 
       Text="check all" 
       OnCheckedChanged="Check_Clicked"/> 

而且

protected void Check_Clicked(object sender, EventArgs e) 
{ 
     if (chkBox.Checked == true) 
     { 
      foreach (GridViewRow gvr in MyGridview.Rows) 
      { 
      //Programmatically access the CheckBox from the TemplateField 
      CheckBox cb = (CheckBox)gvr.FindControl("RowLevelCheckBox"); 
      //Check it! 
      cb.Checked = true; 
      } 
     } 
} 
1

通過GridView中的所有行中循環,併爲複選框列到真正的價值。

foreach(DataGridViewRow row in dgv.Rows) 
{ 
    row.Cells[0].Value = true; 
} 

這樣的事情。

相關問題