面板中的GridView在面板隐藏时未加载

时间:2015-04-22 21:31:15

标签: sql asp.net sql-server vb.net

我有一个包含2个面板的页面。活动面板由下拉列表设置。面板A设置为visible =“true”,面板B默认设置为visible =“false”。

每个面板中都有一个GridView。当页面加载时,可见面板网格将在其中填充数据,但面板B上的网格将显示空集。如果我点击该面板上的搜索按钮(针对该特定网格),它将填充数据。

如果我将其切换并使面板B可见&隐藏的网格B将具有数据而网格A将不具有数据。然后搜索将加载它。如果我将两个面板设置为可见,则两个网格都将填充。

这是我的页面加载功能:

If Not Page.IsPostBack Then
        table_dropdown.SelectedIndex = 0 'setting the default to view Table A

        TPAnnuity_SqlDataSource.SelectCommand = "SELECT * FROM TABLE A"
        TPLife_SqlDataSource.SelectCommand = "SELECT * FROM TABLE B"
End If

我的各种面板&网格声明:

<asp:Panel ID="TPAnnuity_Panel" runat="server" visible="true">
    <asp:GridView ID="TPAnnuity_GridView" AllowSorting="true" AllowPaging="true" Runat="server"
            DataSourceID="TPAnnuity_SqlDataSource" DataKeyNames="AnnuityTotalPointsID" 
            AutoGenerateColumns="False" ShowFooter="true" PageSize="20">
    </asp:GridView>
    </asp:Panel>

<asp:Panel ID="TPLife_Panel" runat="server" visible="false">
    <asp:GridView ID="TPLife_GridView" AllowSorting="true" AllowPaging="true" Runat="server"
            DataSourceID="TPLife_SqlDataSource" DataKeyNames="LifeTotalPointsID" 
            AutoGenerateColumns="False" ShowFooter="true" PageSize="20">
    </asp:GridView>
    </asp:Panel>

是什么给出的?我错过了一些公然的东西吗?我在其他多个页面上使用这样的设置,并进行了比较。看不出问题。

1 个答案:

答案 0 :(得分:0)

其他有效的例子将select命令直接放入.aspx文件中,如下所示:

<asp:SqlDataSource ID="TPAnnuity_SqlDataSource" Runat="server"
        SelectCommand="SELECT * FROM Table A"
        InsertCommand="INSERT INTO Table A () Values () "
        UpdateCommand="UPDATE Table A Set Stuff = This">

我最初只有这里的插入和更新,并且后端有数据绑定。