如何控制Gridview中动态创建的列中的元素

时间:2014-09-30 08:34:33

标签: asp.net vb.net gridview

我在pageload上使用此代码创建了几个动态的复选框列:

 For Each row As GridViewRow In GridView1.Rows
            Dim checkbox1 As CheckBox = TryCast(row.Cells(row.Cells.Count - 1).Controls(0), CheckBox)
            checkbox1.Enabled = True
  Next

现在,我需要以编程方式检查gridview中的一些复选框。这是我正在使用的代码:

 Dim check_rtd As CheckBox = DirectCast(row_a.FindControl("checkbox1"), CheckBox)
 'If a condition is met:
  checkbox1.Checked = True

但是发生了这个错误:

 Object Reference not set to an instance of an object

有什么想法吗?谢谢:D

1 个答案:

答案 0 :(得分:0)

由于check_rtd被声明为CheckBox并使用DirectCast,您将checkbox1分配给check_rtd,因此您需要使用check_rtd

所以替换这段代码

 Dim check_rtd As CheckBox = DirectCast(row_a.FindControl("checkbox1"), CheckBox)
 checkbox1.Checked = True

 Dim check_rtd As CheckBox = DirectCast(row_a.FindControl("checkbox1"), CheckBox)
 'If a condition is met:
  check_rtd .Checked = True