隐藏ListView控件中的项目

时间:2010-08-05 14:38:25

标签: c# asp.net listview

我使用listview来显示一些项目。但有时基于条件我必须从列表中隐藏一些项目。那我该怎么做呢?我在使用ASP.Net和c#。

5 个答案:

答案 0 :(得分:1)

没有办法“隐藏”。当您希望再次显示该项目时,您必须删除然后添加。

答案 1 :(得分:0)

如果您的列表项是动态填充的,我会检查条件,然后检查DataSourceID或数据源使用的查询,然后

MyListView.DataBind();

否则,如果未动态填充,则可以将ListItems定义为该页面的静态成员,然后在将ListItems集合添加到ListView之前检查您的条件并删除要“隐藏”的项目。

答案 2 :(得分:0)

选项包括:

  • 如果您正在讨论将整个项目隐藏在列表中...编写查询,以便在获得ListView绑定的列表时过滤掉这些项目。 (即如果这些子句来自数据库,则将一个WHERE子句添加到SELECT语句中。)
  • 如果您在ListViews中讨论ItemTemplate中的特定控件,则可以在隐藏它的位置设置“Visible = false”。
像这样:

<ItemTemplate>
   <asp:Button Runat = "Server" visible="<%# Eval(SomeCondition) %>" Text = "Click Me" />
</ItemTemplate>

答案 3 :(得分:0)

我刚刚找到了解决这个问题的解决方案,使用ItemsContainerStyle:

<ListView.ItemContainerStyle>
    <Style TargetType="ListViewItem">
        <Setter Property="Visibility" Value="{Binding propertyName, Converter={StaticResource ITVConverter}}"/>
    </Style>
</ListView.ItemContainerStyle>

答案 4 :(得分:0)

在列表视图项中将width属性设置为0。

enter image description here