C# 选中/取消选中复选框时显示/隐藏按钮
我使用的是gridview,标题中有一个复选框(名称为“全选”),用于选择项目模板中的所有复选框。当我点击这个复选框时,它会选中项目模板中的所有复选框,并显示删除按钮,删除复选框时会隐藏删除按钮。现在,我想要的是,当我单击全选复选框,然后如果我从项目模板中逐个删除所有复选框,则选中要删除的全选复选框,然后单击删除按钮隐藏。如果我从项目模板中选择一个或多个复选框,则删除按钮将可见,如果我取消选择任何复选框,则删除按钮应可见,直到所有复选框未清除为止 我尝试了这段代码,但没有正常工作。有人能帮我吗 此代码位于“选择所有”复选框上C# 选中/取消选中复选框时显示/隐藏按钮,c#,checkbox,C#,Checkbox,我使用的是gridview,标题中有一个复选框(名称为“全选”),用于选择项目模板中的所有复选框。当我点击这个复选框时,它会选中项目模板中的所有复选框,并显示删除按钮,删除复选框时会隐藏删除按钮。现在,我想要的是,当我单击全选复选框,然后如果我从项目模板中逐个删除所有复选框,则选中要删除的全选复选框,然后单击删除按钮隐藏。如果我从项目模板中选择一个或多个复选框,则删除按钮将可见,如果我取消选择任何复选框,则删除按钮应可见,直到所有复选框未清除为止 我尝试了这段代码,但没有正常工作。有人能帮我吗
protected void chkSelectAll_CheckedChanged(object sender, EventArgs e)
{
Button btnDel = (Button)ViewsStudGV.FooterRow.FindControl("btnDel");
CheckBox allchk = (CheckBox)ViewsStudGV.HeaderRow.FindControl("chkSelectAll");
CheckBox chk;
foreach (GridViewRow rowItem in ViewsStudGV.Rows)
{
chk = (CheckBox)(rowItem.Cells[0].FindControl("chkSelect"));
chk.Checked = ((CheckBox)sender).Checked;
if (chk.Checked == true)
{
btnDel.Visible = true;
allchk.Text = "Select None";
}
else
{
btnDel.Visible = false;
allchk.Text = "Select All";
}
}
}
此代码位于项目模板复选框上
protected void chkSelect_CheckedChanged(object sender, EventArgs e)
{
CheckBox chk = (CheckBox)ViewsStudGV.FindControl("chkSelect");
Button btnDel = (Button)ViewsStudGV.FooterRow.FindControl("btnDel");
CheckBox allchk = (CheckBox)ViewsStudGV.HeaderRow.FindControl("chkSelectAll");
CheckBox c = (CheckBox)sender as CheckBox;
if (c.Checked == true && allchk.Checked==true)
{
btnDel.Visible = true;
}
else if(c.Checked == false && allchk.Checked==true)
{
btnDel.Visible = false;
}
else if (c.Checked == true && allchk.Checked == false)
{
btnDel.Visible = true;
}
else if (c.Checked == false && allchk.Checked == false)
{
btnDel.Visible = false;
}
}
在“项目模板复选框已更改”功能中,您需要检查其他复选框,以确定当前复选框是否为最后选中的复选框。 大概是这样的:
protected void chkSelect_CheckedChanged(object sender, EventArgs e)
{
CheckBox c = (CheckBox)sender as CheckBox;
Button btnDel = (Button)ViewsStudGV.FooterRow.FindControl("btnDel");
CheckBox allchk = (CheckBox)ViewsStudGV.HeaderRow.FindControl("chkSelectAll");
if(c.Checked == false)
{
btnDel.Visible = true;
allchk.Text = "Select None";
}
else
{
CheckBox chk;
foreach (GridViewRow rowItem in ViewsStudGV.Rows)
{
chk = (CheckBox)(rowItem.Cells[0].FindControl("chkSelect"));
chk.Checked = ((CheckBox)sender).Checked;
if (chk.Checked == true)
{
btnDel.Visible = true;
allchk.Text = "Select None";
break;
}
else
{
btnDel.Visible = false;
allchk.Text = "Select All";
}
}
}
}
在“项目模板复选框已更改”功能中,您需要检查其他复选框,以确定当前复选框是否为最后选中的复选框。 大概是这样的:
protected void chkSelect_CheckedChanged(object sender, EventArgs e)
{
CheckBox c = (CheckBox)sender as CheckBox;
Button btnDel = (Button)ViewsStudGV.FooterRow.FindControl("btnDel");
CheckBox allchk = (CheckBox)ViewsStudGV.HeaderRow.FindControl("chkSelectAll");
if(c.Checked == false)
{
btnDel.Visible = true;
allchk.Text = "Select None";
}
else
{
CheckBox chk;
foreach (GridViewRow rowItem in ViewsStudGV.Rows)
{
chk = (CheckBox)(rowItem.Cells[0].FindControl("chkSelect"));
chk.Checked = ((CheckBox)sender).Checked;
if (chk.Checked == true)
{
btnDel.Visible = true;
allchk.Text = "Select None";
break;
}
else
{
btnDel.Visible = false;
allchk.Text = "Select All";
}
}
}
}
这是网络表单吗?如果是这样,您最好使用javascript(jQuery)隐藏和显示按钮,并将复选框标记为选中。这是一个Web表单吗?如果是这样,您最好使用javascript(jQuery)隐藏和显示按钮,并将复选框标记为选中。