【发布时间】:2013-01-08 19:17:30
【问题描述】:
当 gridview 为空时,我试图在表中隐藏一个名为 ImportnatInfo 的 TD。这个gridview 有一个来自数据库表的列来显示。当这个 gridview 为空时,我想隐藏 TD。
下面是asp代码:
<td runat ="server" ID="ImportnatInfo"
style="width: inherit; border: 5px double #585858; padding-left: 5px; padding-right: 5px;
height: inherit; background: #FFFFFF; background-position: center; border-radius: 25px;"
enableviewstate="True" visible="False">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BorderStyle="None"
DataSourceID="ImportantSqlDataSource">
<Columns>
<asp:BoundField DataField="Importatnat_Info" SortExpression="Importatnat_Info">
<ControlStyle BorderStyle="None" Height="10px" />
<FooterStyle BorderStyle="None" Height="10px" />
<HeaderStyle BorderStyle="None" Height="10px" />
<ItemStyle BorderStyle="None" Height="10px" HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:BoundField>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="ImportantSqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:AgainConnectionString %>"
SelectCommand="SELECT [Importatnat_Info] FROM [StationInfoTable] WHERE ([StationNo] = @StationNo)">
<SelectParameters>
<asp:ControlParameter ControlID="ddlStationNames" Name="StationNo" PropertyName="SelectedValue"
Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
<br />
</td>
VB.net 代码如下:
If GridView1.Rows.Count = 0 Then
ImportnatInfo.Visible = False
Else
ImportnatInfo.Visible = True
End If
我有下拉列表,我每次都选择一些东西,所以如果网格中没有可查看的内容,我希望整个 TD 不可见。我试图在它为空时隐藏的 TD,TD 的东西总是可见的,因为当 gridView Vb 中没有任何内容时,添加所以它不会为空。所以我想我应该使用数据源,但仍然不知道该怎么做。知道怎么做吗?
【问题讨论】:
-
看不到,是问题吗?
-
我有下拉列表,我每次都选择一些东西,所以如果网格中没有任何东西可以查看,我希望整个 TD 不可见。
-
是的,但实际发生了什么?
-
我试图在它为空时隐藏的 TD,它不是并且它总是可见的,因为当那里没有任何东西时 Vb 添加 所以它不会是空的。所以我想我应该是数据源,但仍然无法正常工作。知道谁来做吗?
-
将单元格设置为可见 false 应该可以解决问题(我认为)。只是为了查看问题是否与 TD 相关,您可以在 TD 中放置一个 asp:Panel 并显示/隐藏它,看看结果是否相同。另外,您调试并看到 GridView1.Rows.Count 绝对为零?
标签: asp.net database data-binding gridview