0

次のコードを使用して、5 つの Ajax タブ パネルを動的に作成しました。

   Dim gv As GridView
            ds = gc.GetDataToListBinder("select distinct(tabname) from Parameteronline where isactive='Y'")
            For i = 0 To ds.Tables(0).Rows.Count - 1

                Dim tpParameter As AjaxControlToolkit.TabPanel = New AjaxControlToolkit.TabPanel()

                tpParameter.ID = "Panel_" & ds.Tables(0).Rows(i)(0).ToString()
                tpParameter.HeaderText = ds.Tables(0).Rows(i)(0).ToString()
                TabContainer1.Tabs.Add(tpParameter)
            Next

これにより、ID が次の 1 つのコンテナーで 5 つのパスネルを正常に取得しています。

Panel_API 、 Panel_Court 、 Panel_Jail 、 Panel_Utilities 、 Panel_Common

これらの ID とパネルはすべて動的に作成されているため、パネルのクリック イベントをどのように識別すればよいかわかりません。

動的に作成されたタブ コントロールのイベントを記述する方法は?

私はC#でVB.NETの回答を使用していますが、私にも役立ちます。

私を助けてください。

4

1 に答える 1

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
于 2013-07-20T06:15:49.507 に答える