关于gridview自动生成列的问题

summer935 2009-04-09 03:28:02
gridview中的列式自动生成的,在Gridvie_RowDataBound中手动添加checkbox列

为了只将勾选的行重新显示出来,想要获取勾选的checkbox的行的值,总是获取不到,执行到findcontrol是总是提示“未将对象引用设置到对象的实例。”请高手帮帮忙!


//创建checkbox
protected void gridview_RowDataBound(object sender, GridViewRowEventArgs e)
{
TableCell tc = new TableCell();
CheckBox cb = new CheckBox();
cb.ID = "chkSelect";
tc.Controls.Add(cb);
……
//下面是想要取值的方法中的相关代码
foreach (GridViewRow irow in gridview.Rows)
{
if (irow.RowType == DataControlRowType.DataRow)
{
if (((CheckBox)irow.FindControl("chkSelect")).Checked)
{
}
...全文
281 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
summer935 2009-04-13
  • 打赏
  • 举报
回复
不好意思,有点不太明白。。。
cc19851 2009-04-09
  • 打赏
  • 举报
回复
如果是动态添加的控件每次PostBack都有重新生成吗,没有就找不到了
koukoujiayi 2009-04-09
  • 打赏
  • 举报
回复
你动态添加CheckBox添加上去了吗??
如果没添加上去,何谈获取呢??
summer935 2009-04-09
  • 打赏
  • 举报
回复
看半天楼上提供的资料,跟我的这个问题没有任何关系!
summer935 2009-04-09
  • 打赏
  • 举报
回复
我代码中的checkbox不就是服务器上运行的吗?
sayoath 2009-04-09
  • 打赏
  • 举报
回复
将你添加的check 做为服务器控件运行
summer935 2009-04-09
  • 打赏
  • 举报
回复
这句有加啊,只是我发帖时候省略了
lude8880 2009-04-09
  • 打赏
  • 举报
回复
加这句上去 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)

jdbcodbc 2009-04-09
  • 打赏
  • 举报
回复
个人感觉这句是不是有问题
if (((CheckBox)irow.FindControl("chkSelect")).Checked)

62,074

社区成员

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

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

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

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