checkbox 分页 如何记录 是否选中 如题,大哥们帮忙,急!急!急!!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 .net以前做过在分页事件之前可以用ViewState保存选择的id,然后分页之后 之前判断是否有这个id,再来确定是否选中 保存CheckBox的值GridView在分页过程中并不维护CheckBox的选择状态,幸运的是,我们可以使用Session来维护CheckBox的状态, 这个功能使用RememberOldValues完成C# code private void RememberOldValues(){ArrayList categoryIDList = new ArrayList();int index = -1;foreach (GridViewRow row in GridView1.Rows){ index = (int) GridView1.DataKeys[row.RowIndex].Value; bool result = ((CheckBox)row.FindControl("CheckBox1")).Checked;// Check in the Sessionif (Session[CHECKED_ITEMS] != null) categoryIDList = (ArrayList)Session[CHECKED_ITEMS];if (result){if (!categoryIDList.Contains(index)) categoryIDList.Add(index);}else categoryIDList.Remove(index);}if (categoryIDList != null && categoryIDList.Count > 0) Session[CHECKED_ITEMS] = categoryIDList;}还原CheckBox的状态下一步,需要定义一个方法来还原Checkbox的状态值C# code private void RePopulateValues(){ArrayList categoryIDList = (ArrayList)Session[CHECKED_ITEMS];if (categoryIDList != null && categoryIDList.Count > 0){foreach (GridViewRow row in GridView1.Rows){ int index = (int)GridView1.DataKeys[row.RowIndex].Value;if (categoryIDList.Contains(index)){ CheckBox myCheckBox = (CheckBox) row.FindControl("CheckBox1"); myCheckBox.Checked = true;}}}}最后,在分页事件里调用上面两个方法C# code protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e){RememberOldValues();GridView1.PageIndex = e.NewPageIndex;BindData();RePopulateValues();} 大哥们,用asp 如何实现? 告诉你个简单办法,页面创建一个label,用display:none属性,隐藏起来(这样js可以取到)。后面你就晓得了 做一个HashMap来记录选中的记录,放SESSION中 有三个标签,它们的class相同,ID不同,如何通过jQuery更改它们的标签内容? 求迅雷电视剧频道的左右切换代码和电影频道的左右切换代码。 二叉树搜索怎么做 已经有一个二叉树.想在上面实现搜索节点上的文字怎么做. 列表框值问题 大家帮我解释解释dw自动生成的js呀,解释通了高分相送。@_@ 请教关于input框赋值的问题 请教!JavaScript控制关闭计算机和重起计算机? 请教一个很简单的问题——绘制矩形框问题? 请教! 为什么这个网页我把它保存到本地就变了呢? 网站如何部署比较合理? 急啊,各位大侠!!输入框中有用户删除不掉的字符如何实现??
在分页事件之前可以用ViewState保存选择的id,然后分页之后 之前判断是否有这个id,再来确定是否选中
C# code
private void RememberOldValues(){ArrayList categoryIDList = new ArrayList();int index = -1;foreach (GridViewRow row in GridView1.Rows){ index = (int) GridView1.DataKeys[row.RowIndex].Value; bool result = ((CheckBox)row.FindControl("CheckBox1")).Checked;
// Check in the Sessionif (Session[CHECKED_ITEMS] != null) categoryIDList = (ArrayList)Session[CHECKED_ITEMS];if (result){if (!categoryIDList.Contains(index)) categoryIDList.Add(index);}else categoryIDList.Remove(index);}if (categoryIDList != null && categoryIDList.Count > 0) Session[CHECKED_ITEMS] = categoryIDList;}还原CheckBox的状态下一步,需要定义一个方法来还原Checkbox的状态值C# code
private void RePopulateValues(){ArrayList categoryIDList = (ArrayList)Session[CHECKED_ITEMS];if (categoryIDList != null && categoryIDList.Count > 0){foreach (GridViewRow row in GridView1.Rows){ int index = (int)GridView1.DataKeys[row.RowIndex].Value;if (categoryIDList.Contains(index)){ CheckBox myCheckBox = (CheckBox) row.FindControl("CheckBox1"); myCheckBox.Checked = true;}}}}最后,在分页事件里调用上面两个方法
C# code
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e){RememberOldValues();GridView1.PageIndex = e.NewPageIndex;BindData();RePopulateValues();}
后面你就晓得了