遇到难题了!Gridview有一个CheckBox列,在用了分页的情况下,如何取出用户选择的所有记录id。

FlowerJunjie 2007-08-24 04:22:42
...全文
494 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
fox361101955 2010-05-17
  • 打赏
  • 举报
回复
LZ把代码贴上来嘛
xiaoqhuang 2007-08-25
  • 打赏
  • 举报
回复
分页事件里保存id,用list<int>就行,有.contains方法 list<id>用viewstate保存
FlowerJunjie 2007-08-25
  • 打赏
  • 举报
回复

使用一个隐藏的控件...当某个checkbox被选中的时候,调用一个js脚本文件,把被选中的项保存到控件中...取消选中的时候也一样

=================================
这个方法很好,无奈js 不是很熟。




方法有很多种,

最常见的是,当 checkbox 选择/取消 的时候,维护一个 隐藏域 来保存选中的行
===========================================================
是不是每次checkbox选择,取消都要和服务器交互!?


viewState ,可能比较好。维护其状态是不是很麻烦,?



FlowerJunjie 2007-08-25
  • 打赏
  • 举报
回复
谢谢大家的建议!
我是这么做的!

首先,分页保持每页先前选择的checkbox 的状态。
写了一个方法,遍历gridview,把选中的checkbox 的值存为Session。 就是用;号分割,累加起来。在pageIndexChanging 事件里里调用。
这样就遇到了一个问题,如果点了下一页,再回到上一页的话,Session 的值会有重复。

只好把Session的值存为数组,然后去掉重复项。

可能效率不高。
如果大家有更好的方法,欢迎赐教!

Jinglecat 2007-08-24
  • 打赏
  • 举报
回复
在ASP.NET中跨页面实现多选
http://blog.csdn.net/net_lover/archive/2004/10/08/127497.aspx

如何datagrid分页保持每页先前选择的checkbox的状态?
http://lovecherry.cnblogs.com/archive/2005/10/18/257338.html


GridView 相同,注意其中的 Item 对应 Row
llxchen 2007-08-24
  • 打赏
  • 举报
回复
使用ViewState来存储
Jinglecat 2007-08-24
  • 打赏
  • 举报
回复
方法有很多种,

最常见的是,当 checkbox 选择/取消 的时候,维护一个 隐藏域 来保存选中的行
fireicesion 2007-08-24
  • 打赏
  • 举报
回复
可以尝试把用户选中的行的主键依次连成字符串保存在ViewState中,最后完毕了再从ViewState从依次取出来
zwwlovezy1 2007-08-24
  • 打赏
  • 举报
回复
分页肯定钩选的会消失 最好是取当页用户选中的
要是每页都记录住的话 代码量大不说 后台运算会慢的
非要那样 那你就把每次某个用户 翻了第几页 当前的PageIndex保存 然后他选中的项的ItemIndex也保存 自己写方法绑定吧
不建议这样。。
feng5799 2007-08-24
  • 打赏
  • 举报
回复
楼上的方法不行的..当翻页的时候,checkbox的状态会变成不能选中
chenzhifeng 2007-08-24
  • 打赏
  • 举报
回复
在click事件里面
for(int i=0;i<this.GridView.Items.Count;i++)
{
CheckBox ch=(CheckBox)GridView.Items.FindControl("checkboxid");
if(ch.Checked)
{
string s=ch.Text;
}
}
feng5799 2007-08-24
  • 打赏
  • 举报
回复
使用一个隐藏的控件...当某个checkbox被选中的时候,调用一个js脚本文件,把被选中的项保存到控件中...取消选中的时候也一样
FlowerJunjie 2007-08-24
  • 打赏
  • 举报
回复
考虑只有一页的情况!

62,046

社区成员

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

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

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

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