GridView中Checkbox操作数据库的问题

zjq0034 2009-01-04 10:41:12
我在我的GridView中添加了一个模板列,其中添加了一个checkbox,为了实现分页的功能我在数据库中添加了一个bit类型的字段ischecked判断是否被选中,当选中了checkbox的时候就修改数据库中的该字段为1,否则为0,这些都实现了,可是问题也出现了,我在checkbox的checkedchanged事件中添加了如下代码
protected void ckbID_CheckedChanged(object sender, EventArgs e)
{ //gvCorporationInfo为我的GridView
for (int rowindex = 0; rowindex < gvCorporationInfo.Rows.Count; rowindex++)
{
if (((CheckBox)gvCorporationInfo.Rows[rowindex].Cells[1].FindControl("ckbID")).Checked)
{
int id = Convert.ToInt32(gvCorporationInfo.DataKeys[rowindex].Value);
string strsql = "update CorporationInfo set ischecked = 1 where corpID = " + id;
//ExecuteBrg.executeOtherTabBrg(string strsql)方法为操作数据库的方法,做的就是ExcuteNonQuery();
if (ExecuteBrg.executeOtherTabBrg(strsql))
{
//bindGV();为绑定GridView的方法,实现了对数据库相应数据的查询与显示
bindGV();
}
}
else
{
int id = Convert.ToInt32(gvCorporationInfo.DataKeys[rowindex].Value);
string strsql = "update CorporationInfo set ischecked = 0 where corpID = " + id;
if (ExecuteBrg.executeOtherTabBrg(strsql))
{
bindGV();
}
}
}
}
在运行的时候我选择第一行的checkBox可以实现修改数据库中的ischecked字段为1或0,可是第二行开始就不可以了,怎样点都不会做出修改,更不用说绑定了,打断点的时候发现“rowindex”始终是0,要怎样做才可以实现在我无论修改哪行的checkbox的checked的时候都会做出相应的修改和绑定呢?谢谢大家了
...全文
210 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjq0034 2009-01-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zjq0034 的回复:]
引用 2 楼 fengylm 的回复:
额。。发错了

CheckBox cbo=sender as CheckBox;
int index = ((GridViewRow)(cbo.NamingContainer)).RowIndex

rowindex=index

这样号么?我的rowindex是绑定的数据库的id,并非GridView的行号,这两个值是一致的么?我不是很清楚,能说的详细些么?
[/Quote]
刚才没太反映过来,在程序上敲了一遍,了解了你的意思,谢谢你了,已经实现了,虽然不是十分理解,但是我自己可以慢慢研究的,3Q了fengylm
zjq0034 2009-01-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 fengylm 的回复:]
额。。发错了

CheckBox cbo=sender as CheckBox;
int index = ((GridViewRow)(cbo.NamingContainer)).RowIndex

rowindex=index
[/Quote]
这样号么?我的rowindex是绑定的数据库的id,并非GridView的行号,这两个值是一致的么?我不是很清楚,能说的详细些么?
fengylm 2009-01-04
  • 打赏
  • 举报
回复
额。。发错了

CheckBox cbo=sender as CheckBox;
int index = ((GridViewRow)(cbo.NamingContainer)).RowIndex

rowindex=index
fengylm 2009-01-04
  • 打赏
  • 举报
回复
int index = ((GridViewRow)(ddl.NamingContainer)).ItemIndex

rowindex=index

62,269

社区成员

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

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

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

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