0

我正在尝试做的事情:我的数据库中有一些会议日期。为了显示这一点,我想每天制作一个 GridView。(我有几天的会议)。之后,将此网格视图放入手风琴窗格中(逐天)。我想放入窗格中以不在屏幕上显示长列表。

我知道如何制作动态手风琴窗格,我知道制作动态 GridView(取决于会议次数)。我知道将一个 GridView 放在一个手风琴窗格中。(juste for statics one) 但我不能动态地将 GridViews 放在手风琴窗格中......

我的问题的源代码:

创建动态数量的手风琴窗格的方法:

代码背后:

 For i = 1 To j
     Dim volet As New AjaxControlToolkit.AccordionPane
     volet.Visible = True
     volet.ID = "volet" & i.ToString
     Accordion1.Panes.Add(volet)
 Next

代码 ASP.NET:

<asp:Accordion ID="Accordion1" runat="server" Width="873px" CssClass="accordion" FadeTransitions="true"   HeaderCssClass="accordionHeader" HeaderSelectedCssClass="accordionHeaderSelected" RequireOpenedPane="false"    ContentCssClass="accordionContent" TransitionDuration="100">

</asp:Accordion>

GridView 动态数量的创建方式:

后面的代码:

    For i = 1 To j
        Dim datag As New GridView
        datag.Visible = True
        datag.ID = "datag" & i.ToString
        Panel1.Controls.Add(datag) 
   Next

现在我尝试在手风琴窗格中插入 GridView。那是我的问题。我希望我很清楚,请问我是否表达得不好。

非常感谢你的回答

4

1 回答 1

0

我找到了答案!

我错过了两个函数:pane.ContentContainer.Constrols.Add 和 pane.HeaderContent.Controls.Add。

    For i = 1 To j
        Dim datag As New GridView
        Dim title As New Label

        datag = GenererGridView(i) 'GridView from database

        datag.Visible = True
        datag.ID = "datag" & i.ToString
        title.Text = "datag" & i.ToString


        Dim pane As New AjaxControlToolkit.AccordionPane
        pane.Visible = True
        pane.ID = "pane" & i.ToString
        pane.ContentContainer.Controls.Add(datag)
        pane.HeaderContainer.Controls.Add(title)
        Accordion1.Panes.Add(pane)
    Next
于 2013-10-03T09:10:58.033 回答