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