在DATGRID添加CHECKBOX所遇到的问题

doublewood001 2004-09-06 12:24:23
我在DATAGRID 里添加一个CHECKBOX的列,相当于我们在信箱里经常见到的删除所选条目,现在关键是在DATAGRID分页后,跳到另外一页时,之前在CHECKBOX所选的项就失效了。
...全文
157 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
robin0925 2004-09-06
  • 打赏
  • 举报
回复
同意 brightheroes(闭关|那一剑的风情) 的,在数据邦定的时候,邦定checkbox!!
happyno7 2004-09-06
  • 打赏
  • 举报
回复
用ViewState来记录也可以
brightheroes 2004-09-06
  • 打赏
  • 举报
回复
数据邦定的时候
if ( e.Item.ItemType == ListItemType.Item ||e.Item.ItemType == ListItemType.AlternatingItem)
{
CheckBox cb = (CheckBox)e.Item.FindControl("yourCheckBoxId");
cb.Attributes.Add("value",e.Item.cells[0].Text);//e.Item.cells[0]是你的ID列,不可见。
if(tb_IdNames.Indexof("," +e.Item.cells[0].Text + ",") > 0)
cb.checked = true;
}
brightheroes 2004-09-06
  • 打赏
  • 举报
回复
function Select( obj )
{
if ( obj.checked )
{
document.all.<%= tb_IdNames.ClientID %>.value = document.all.<%= tb_IdNames.ClientID %>.value + obj.value + ",";
}
else
{
var str1 = obj.value + ",";
document.all.<%= tb_IdNames.ClientID %>.value = document.all.<%= tb_IdNames.ClientID %>.value.replace( str1,"" );
}
}
brightheroes 2004-09-06
  • 打赏
  • 举报
回复
解决这个问题
就是给你的checkbox加上onclick的js事件
用页面上的一个宽度为0的文本框来记录选择条目的ID
选中的时候写入
取消的时候删除
--
在每次DataBind的时候,察看id是否在文本框里面
如果在,那么设置checkbox的checked为true
brightheroes 2004-09-06
  • 打赏
  • 举报
回复
目前是用的这个拙劣的方法:D
有什么好方法通知我一下
是挺麻烦
doublewood001 2004-09-06
  • 打赏
  • 举报
回复
首先感谢brightheroes(闭关|那一剑的风情)及各位朋友的帮助,
你的方法不错,实现起来也简单,我那时也像你那样设计了一个记录ID的文本框,
不过除了此方法外,还有没有更简单的方法呢?因为,我要多次使用这种功能,viewstate好象不可以,能否把他写成公用函数呢?

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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