0
我有一個帶有2個面板的頁面。活動面板通過下拉菜單設置。面板A設置爲visible =「true」,面板B默認設置爲visible =「false」。GridView在面板不加載時隱藏面板
在每個面板中都有一個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>
是怎麼回事?我錯過了一些公然的東西嗎?我在多個其他頁面上使用這樣的設置,並進行了比較。看不到問題。
如果父容器設置爲可見false,它將不會呈現數據。 使用css類隱藏面板 – Legends
@Legends在其他應用程序中,我使用DataBind()而不是此DataSource.SelectCommand,並且這些渲染正常。這是不同的功能做不同的事情? – PhoenixUNI
實際上根本就沒有Gridview,當把gv設置爲可見的false時,所以在這種情況下它必須與數據綁定關聯,這也是我的猜測。我不用這個數據源廢話... 但爲什麼GridA包含數據,很奇怪 – Legends