checkbox选中问题?

好好小妖 2009-05-31 10:23:11
GridView上有一组checkbox,如何判断checkbox都未被选中?
for (int i = 0; i < this.gvDepartment.Rows.Count; i++)
{
CheckBox chk = (CheckBox)gvDepartment.Rows[i].FindControl("chkItem");
if (chk.Checked)
{
chkID = gvDepartment.DataKeys[i].Value.ToString();
DropDownList ddl = (DropDownList)this.gvDepartment.Rows[i].FindControl("ddlmembername");
string departId = Balance.BalanceItem.BindDepartmentId(chkID);
Balance.BalanceItem.InsertTarget(this.ddlTarget.SelectedValue, this.ddlTarget.SelectedItem.Text.ToString().Trim(), this.txtHighscore.Text.ToString().Trim(), this.ddlBydepartment.SelectedValue, departId, ddl.SelectedValue.ToString().Trim(), this.txtValue.Text.ToString().Trim());
this.BindGridViewTarget();
}
else
{
ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('请选择测评部门');</script>");
}
...全文
175 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
好好小妖 2009-05-31
  • 打赏
  • 举报
回复
问题解决了!
好好小妖 2009-05-31
  • 打赏
  • 举报
回复
求助高手
好好小妖 2009-05-31
  • 打赏
  • 举报
回复
4楼,6楼和7楼都不对
如果第一个checkbox没有选中,而选中了第2个或第3个,那么都会提示ClientScript.RegisterStartupScript(this.GetType(), "", " <script>alert('请选择测评部门'); </script>"); 除非选中第一个checkbox,才不会弹出信息。
热学沸腾56 2009-05-31
  • 打赏
  • 举报
回复
很简单的问题啊,用一个标示符来判断,遍历完所有的checkbox,如果有被选中的则改变标示符,结束遍历
最后判断标示符是否又被改变,如果没改变说明checkbox全都没选中
yechd 2009-05-31
  • 打赏
  • 举报
回复
4楼,6楼和7楼都对
teerhu 2009-05-31
  • 打赏
  • 举报
回复
int cx=0;for (int i = 0; i < this.gvDepartment.Rows.Count; i++)
{
CheckBox chk = (CheckBox)gvDepartment.Rows[i].FindControl("chkItem");
if (chk.Checked)
{
++c;
chkID = gvDepartment.DataKeys[i].Value.ToString();
DropDownList ddl = (DropDownList)this.gvDepartment.Rows[i].FindControl("ddlmembername");
string departId = Balance.BalanceItem.BindDepartmentId(chkID);
Balance.BalanceItem.InsertTarget(this.ddlTarget.SelectedValue, this.ddlTarget.SelectedItem.Text.ToString().Trim(), this.txtHighscore.Text.ToString().Trim(), this.ddlBydepartment.SelectedValue, departId, ddl.SelectedValue.ToString().Trim(), this.txtValue.Text.ToString().Trim());
this.BindGridViewTarget();
}
if (cx==0)
{
ClientScript.RegisterStartupScript(this.GetType(), "", " <script>alert('请选择测评部门'); </script>");
}
wzh307 2009-05-31
  • 打赏
  • 举报
回复

bool isChecked = false;
for (int i = 0; i < this.gvDepartment.Rows.Count; i++)
{
CheckBox chk = (CheckBox)gvDepartment.Rows[i].FindControl("chkItem");
if (chk.Checked)
{
isChecked = true;//有选择的
chkID = gvDepartment.DataKeys[i].Value.ToString();
DropDownList ddl = (DropDownList)this.gvDepartment.Rows[i].FindControl("ddlmembername");
string departId = Balance.BalanceItem.BindDepartmentId(chkID);
Balance.BalanceItem.InsertTarget(this.ddlTarget.SelectedValue, this.ddlTarget.SelectedItem.Text.ToString().Trim(), this.txtHighscore.Text.ToString().Trim(), this.ddlBydepartment.SelectedValue, departId, ddl.SelectedValue.ToString().Trim(), this.txtValue.Text.ToString().Trim());
this.BindGridViewTarget();
}
// else
// {
// ClientScript.RegisterStartupScript(this.GetType(), "", " <script>alert('请选择测评部门'); </script>");
// }
}
if (!isChecked)
{
ClientScript.RegisterStartupScript(this.GetType(), "", " <script>alert('请选择测评部门'); </script>");
}
好好小妖 2009-05-31
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 webdiyer 的回复:]
在客户端判断并提示效果更好,用jQuery再写一个each()循环就可以实现了
[/Quote]
能给个实例不
好好小妖 2009-05-31
  • 打赏
  • 举报
回复
bool flag = false;for (int i = 0; i < this.gvDepartment.Rows.Count; i++)
{
CheckBox chk = (CheckBox)gvDepartment.Rows[i].FindControl("chkItem");
if (chk.Checked)
{
chkID = gvDepartment.DataKeys[i].Value.ToString();
DropDownList ddl = (DropDownList)this.gvDepartment.Rows[i].FindControl("ddlmembername");
string departId = Balance.BalanceItem.BindDepartmentId(chkID);
Balance.BalanceItem.InsertTarget(this.ddlTarget.SelectedValue, this.ddlTarget.SelectedItem.Text.ToString().Trim(), this.txtHighscore.Text.ToString().Trim(), this.ddlBydepartment.SelectedValue, departId, ddl.SelectedValue.ToString().Trim(), this.txtValue.Text.ToString().Trim());
this.BindGridViewTarget();
flag = true;
}
if(flag==false)
{
ClientScript.RegisterStartupScript(this.GetType(), "", " <script>alert('请选择测评部门'); </script>");
}

这样不行啊
webdiyer 2009-05-31
  • 打赏
  • 举报
回复
在客户端判断并提示效果更好,用jQuery再写一个each()循环就可以实现了
ivws_19 2009-05-31
  • 打赏
  • 举报
回复
用一个bool值作判断,每行的是否选中你现在可以判断吧
好好小妖 2009-05-31
  • 打赏
  • 举报
回复
补充,如果checkbox都没被选中,我想弹出提示信息,ClientScript.RegisterStartupScript(this.GetType(), "", " <script>alert('请选择测评部门'); </script>");

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧