【问题标题】:How to filter items in a ListBox based on a searched string如何根据搜索到的字符串过滤 ListBox 中的项目
【发布时间】:2010-05-06 13:16:19
【问题描述】:

我有一个 Windows 窗体应用程序 (C#),其中包含一个列表框,我在其中添加了一些项目(我没有使用数据源)。我想过滤 ListBox 中的项目以仅显示包含我正在搜索的字符串的项目。

我通过保留原始项目列表并在每次搜索字符串更改并更新 ListBox.Items 时从该列表中选择匹配项目来做到这一点

有没有更优雅/高效的方法来做到这一点?

【问题讨论】:

    标签: c# winforms data-binding


    【解决方案1】:

    有没有更优雅/高效的方法?

    不,不是。

    您可以通过具有 Filter 和 Sort 属性的 BindingSource 进行连接,但这不适用于简单的 List。所以你必须使用像 DataTable 这样的东西,这不会是一种改进。

    您当前的方法看起来不错,尤其是如果您可以使用 LINQ 过滤列表。

    但我希望您不要每次都循环遍历 Items 属性,只需将过滤后的列表分配给 Listbox1.DataSource。

    【讨论】:

      【解决方案2】:

      这是一篇可能与您的问题相关的帖子,即使它已被回答。

      Filtering a listbox

      【讨论】:

        猜你喜欢
        • 2019-01-04
        • 2016-05-16
        • 2016-08-12
        • 2019-09-17
        • 1970-01-01
        • 1970-01-01
        • 2013-07-12
        • 2017-04-03
        相关资源
        最近更新 更多