现在我已经实现了在gridview分页时保存checkbox的状态,现在问题来了
foreach (GridViewRow row in GridView1.Rows)
{
if (((CheckBox)row.FindControl("chkSelected")).Checked)
{
//这里我还是只能取得当前页的checkbox,其他页我选中的checkbox状态在,当我取不到.
//求一个可以判断gridview所有页的checkbox的方法 谢谢 }
}
foreach (GridViewRow row in GridView1.Rows)
{
if (((CheckBox)row.FindControl("chkSelected")).Checked)
{
//这里我还是只能取得当前页的checkbox,其他页我选中的checkbox状态在,当我取不到.
//求一个可以判断gridview所有页的checkbox的方法 谢谢 }
}
1.用ViewState存储
2暂时不允许分析,处理后再允许分页
1、绑定后隐藏一列键值。
2、选中时,保存键值,同时要避免重复保存。
3、页面呈现时根据选中键值还原checkbox的外观。一般考虑用户感受,上述行为应该基于脚本实现,记得codeproject Asp.net专栏置顶帖有一个印度老兄写的demo。
当你点第二页的时候,保存第一页所选的内容,写一个返回Arraylist的函数 假如CBOX被选中那么Arraylist.add() 并返回,
在写一个函数,没有返回类型的,用一个session[page.tosting(),'这里就写你arraylist的返回函数名'
当你从第二页回到第一页的时候,页面被重新加载,这个时候就调用 session这个函数过程,page.tostring()这个可以自动判断当前选择的是第几页,
看一下上面帖子我的回复的内容,你的问题和他的问题思路是一样的,哪里我给写了两个方法。后面还有更正。你修改一下,能处理你的问题。
{
if (((CheckBox)row["行索引"].cell[列索引].FindControl("chkSelected")).Checked)
{
这样可以
}
}