0

グリッドを動的に作成し、それをバインドしたいと考えていました。

タブパネルにグリッドを配置したかった。

この目的のために次のコードを作成しました。

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)でエラーが発生しています。

4

2 に答える 2

1

を宣言していますが、インスタンス化してgridviewいません。グリッドビューを動的に作成するこの記事は役に立ちます。

変化する

Dim gv As GridView

Dim gv As GridView =  New GridView() 
于 2013-07-20T06:36:08.540 に答える
1

キーワードを使用Newしてグリッドビューをインスタンス化します

コードを変更してください:

Dim gv As GridView

このコードに:

Dim gv As New GridView()

このGridview コンストラクターを確認してください

これが、この障害を克服するのに役立つことを願っています。

于 2013-07-20T06:43:24.860 に答える