我编写了一个代码,可以在 gridview 中使用复选框,并且效果很好。后来我被告知要修改它,以启用一个复选框来检查所有。请问我该如何在 C# 中进行。我已经与谷歌和这个网站核对过,找不到任何可以帮助我解决问题的东西。
问问题
803 次
3 回答
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
.
于 2012-12-28T09:05:42.963 回答
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;
}
}
}
于 2012-12-28T09:08:54.957 回答
1
遍历gridview中的所有行并将复选框列的值设置为true。
foreach(DataGridViewRow row in dgv.Rows)
{
row.Cells[0].Value = true;
}
类似的东西。
于 2012-12-28T09:38:44.100 回答