【发布时间】:2011-06-01 12:49:31
【问题描述】:
我有一个带有分页功能的 ASP .NET GridView。其中一列有一个复选框。在某种情况下,我想取消选中已选中的复选框。
foreach (GridViewRow dr in gvMyGridView.Rows)
{
if (dr.RowType == DataControlRowType.DataRow)
{
if ((CheckBox)dr.FindControl("chkIsApplicable") != null)
{
((CheckBox)dr.FindControl("chkIsApplicable")).Checked = false;
}
}
}
但不幸的是,由于 Paging,只有当前显示在 Grid 中的记录才能以这种方式访问。我希望它适用于 GridView 中的所有项目。这应该发生在客户端,当用户提交时将被保存到数据库中。有什么办法处理这个吗? :)
【问题讨论】:
-
最终处理那个服务器端还是客户端?
-
我猜你不能选中这些复选框,因为在你更改页面索引之前它们并不真正存在。我的建议是保留一个布尔值并在用户单击全选时将其设置为 true,当单击更新按钮时,您可以检查该值并进行操作
-
@Jani:在用户选择“提交”按钮之前,服务器端不会进行任何更改。一旦按下它,信息就会被传递并保存/更新到数据库中。
标签: c# asp.net gridview checkbox gridviewrow