【问题标题】:Group asp.net webapplication listbox items (Not using WPF)分组 asp.net webapplication 列表框项目(不使用 WPF)
【发布时间】:2014-04-07 18:41:41
【问题描述】:

我有一个 asp.net Web 应用程序,我在其中使用列表框控件从数据库中获取数据。我的数据库中有 3 组数据,我想在获取时对这些项目进行分组,并在列表框中显示每个组的标题。我在网上做了一些研究,但我发现的所有文章都使用 WPF,在我的情况下我不能使用 WPF,因为我的应用程序是一个 asp.net Web 应用程序,我现在无法更改它。请帮助我找出是否有任何方法可以使用 C# 和 asp.net 对我的项目进行分组,如图所示。

提前致谢

【问题讨论】:

    标签: c# asp.net .net web-applications listbox


    【解决方案1】:

    您可以使用 CSS 类来设置列表中每个项目的外观:

    CSS:

    <style>
        .red
        {
            background-color:pink;
            color:red;       
        }
    </style>
    

    ASPX:在每个项目标题上,您必须使用 Class="red" 和 disabled="disabled"(感谢 @Arman

        <asp:ListBox ID="ListBox1" runat="server">
            <asp:ListItem Text="A" Disabled="disabled" Class="red"></asp:ListItem>
            <asp:ListItem Text="Adam"></asp:ListItem>
            <asp:ListItem Text="Ami"></asp:ListItem>
            <asp:ListItem Text="B" Disabled="disabled" Class="red"></asp:ListItem>
            <asp:ListItem Text="Bob"></asp:ListItem>
            <asp:ListItem Text="K" Disabled="disabled" Class="red"></asp:ListItem>
            <asp:ListItem Text="Kim"></asp:ListItem>
            <asp:ListItem Text="L" Disabled="disabled" Class="red"></asp:ListItem>
            <asp:ListItem Text="Lena"></asp:ListItem>
            <asp:ListItem Text="Leo"></asp:ListItem>
            <asp:ListItem Text="Limi"></asp:ListItem>
        </asp:ListBox>
    

    代码隐藏:由于您是从数据库动态填充 ListBox 中的项目,因此您需要像这样设置标题项目的 CSS 属性:

    ListItem x = new ListItem("A"));
    x.Attributes.Add("class","red");
    ListBox1.Items.Add(x);
    

    【讨论】:

    • 最好在每个组头中使用disabled="disabled"
    • @Arman:出于某种原因,这样做会更改标题项目的前景色,它会“禁用”它并将灰色设置为项目前景色,但背景颜色保持不变。我认为指针事件:无;会解决这个问题,但没有......我仍在研究这个,不过评论很好!
    • 感谢阿曼的回复。这很有帮助,但我还有一个问题。我的列表框的数据是从数据库中获取的,而不是静态地将其添加为 asp.net 页面上的列表项。如果数据是从数据库中动态获取的,你能告诉我如何添加 css。
    • 我知道我问了很多。但刚刚得到最后一个问题。我们能否将树状功能添加到 asp.net 列表框,以便我们可以根据需要折叠或展开组。我只是问这个问题,因为将来列表项的数量会增加,用户可能很难选择,而且外观和感觉也会很好。请让我知道您的意见。
    • @user545359:如果那是你要去的地方,我建议不要使用列表框。您可能需要查看可协作的 DIV,然后在每次潜水中添加一个 ListBox? Collabsable DIV 非常有用,你可以找到一个方法here
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-26
    • 1970-01-01
    • 2010-12-15
    • 2019-06-05
    • 2020-05-19
    相关资源
    最近更新 更多