datagrid中checkbox列的问题。

Truly 2003-09-29 08:10:48
<asp:CheckBox id=CheckBox1 runat="server" OnCheckedChanged="chcekOnChange" Checked='<%# DataBinder.Eval(Container.DataItem,"Enabled") %>'>
</asp:CheckBox>

里的OnCheckedChanged="chcekOnChange"

protected void CheckedChanged(object sender, System.EventArgs e)
{
在后台的这里得到这个CheckBox所对应的数据库里的那条数据的id值?
我希望在此处更新对应的记录,而不是把所有记录遍历一遍
即"update tb_user set bt_IsUse=CheckBox1.Checked where i_ID="+该记录的id。
应该怎么写?
}
...全文
29 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
seesea125 2003-09-30
  • 打赏
  • 举报
回复
处理在DataGrid中的DropDownList的事件
DropDownList没有CommandName属性,所以不能用ItemCommand事件,不过你可以这样试试:
在DataGrid的模板列中加入的DropDownList控件
<asp:DropDownList runat="server" id="ddl" AutoPostBack="True" OnSelectedIndexChanged="ddl_SelectedIndexChanged" />
然后你在.aspx.cs中加入一个函数
protected void ddl_SelectedIndexChanged(object sender, System.EventArgs e) //一定要声明成protected或者public,不能是private的。
{
//在这里就可以加入其他代码
}

3.1、在上面的事件中怎样得到本行其他Cell的值呢?
我们知道,DataGrid完全是一个Table结构的控件,DataGrid包含DataGridItem,每个DataGridItem又包含TableCell,那么,我们就可以在TableCell的某个控件中,利用控件的Parent来得到TableCell,再利用TableCell的Parent,就可以得到DataGridItem了。
protected void ddl_SelectedIndexChanged(object sender, System.EventArgs e) //一定要声明成protected或者public,不能是private的。
{
DropDownList ddl = (DropDownList)sender;
TableCell cell = (TableCell)ddl.Parent;
DataGridItem item = (DataGridItem)cell.Parent;
Response.Write(item.Cells[0].Text);
}
2002pine 2003-09-30
  • 打赏
  • 举报
回复
按你的要求,
1,应得到所在的行号num,不知用datagrid1.selectedindex可不可以,我没试
2。如知行号,就很容易得到id,如datagrid1.DataKeys[num],
gong1 2003-09-30
  • 打赏
  • 举报
回复
直接取就可以,你可以把 数据的 Id 值绑定道datagrid的item.cell[].control[]......
yinson 2003-09-30
  • 打赏
  • 举报
回复
DataGrid 自带一个 DataKeys 这样的属性。用于存放 数据的 Id 值。
你可以考虑这个方法。
Truly 2003-09-30
  • 打赏
  • 举报
回复
box.Container出错。
请高手回答
我再加分。
zhongkeruanjian 2003-09-29
  • 打赏
  • 举报
回复
checkbox box = (checkbox) sender;
DataGridItem item = (DataGridItem) box.Container;
item.ItemIndex 这就是你要的ID,不过这是DATAGRID里的INDEX,
如果你想得到数据库里的ID号,那还要做很多事
supercdz 2003-09-29
  • 打赏
  • 举报
回复
应该在ItemDataBound时间中写
Truly 2003-09-29
  • 打赏
  • 举报
回复
问题是id如何获得?没有e.item...属性啊
cnhgj 2003-09-29
  • 打赏
  • 举报
回复
AutoPostBack=true
Truly 2003-09-29
  • 打赏
  • 举报
回复
没人回答?
思归呢?

62,025

社区成员

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

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

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

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