动态绑定网格(未设置为对象实例的对象)错误

时间:2013-07-20 06:29:46

标签: c# asp.net .net vb.net visual-studio-2008

我已经动态创建了网格并希望绑定它。

我想将网格放在tabpanel中。

我为此目的制作了以下代码:

Protected Sub TabContainer1_ActiveTabChanged(ByVal sender As Object, ByVal e As System.EventArgs) 
    Handles TabContainer1.ActiveTabChanged
                Dim actTab As String = TabContainer1.ActiveTab.ID.ToString()
                Dim gv As GridView

                ds = gc.GetDataToListBinder("select * from ParameterOnline where TabName='Courts'")

                If actTab = "Panel_Courts" Then
                    gv.DataSource = ds.Tables(0)
                    TabContainer1.ActiveTab.Controls.Add(gv)
                End If


            End Sub

但它给了我错误:

object not set to an instance of an object

通过调试,我看到了数据集ds,但它中包含了所有必要的值。

我不明白我在哪里弄错了?

c#中的答案对我也有帮助。

修改

gv.DataSource = ds.Tables(0)行,我收到错误。

2 个答案:

答案 0 :(得分:1)

您正在声明gridview,但没有声明它。这篇creating gridview dynamically文章会有所帮助。

更改

Dim gv As GridView

Dim gv As GridView =  New GridView() 

答案 1 :(得分:1)

使用New关键字来实例化您的gridview

更改您的代码:

Dim gv As GridView

进入此代码:

Dim gv As New GridView()

查看此Gridview constructor

希望这会帮助你克服这个障碍。