使用复选框检查C#中的其他复选框

时间:2012-12-28 08:59:10

标签: c# gridview checkbox

我编写了一个代码,可以在gridview中使用复选框,并且工作正常。后来我被告知要修改它,启用复选框来检查所有内容。请问我该如何在C#中使用它。我已经与谷歌和本网站核实过,找不到任何可以帮助我解决问题的事情。

3 个答案:

答案 0 :(得分: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 :(得分: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;
          }
        }
}

答案 2 :(得分:1)

遍历gridview中的所有行,并将checkbox列的值设置为true。

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

类似的东西。