【问题标题】:C# Is there a way to search through all listview items with a textbox?C# 有没有办法用文本框搜索所有列表视图项?
【发布时间】:2013-06-25 14:37:25
【问题描述】:

我开发了一个通过 SQL CE 连接填充 Listview 的应用程序。我已经有了插入、更新和删除功能。唯一剩下的就是搜索功能。我认为这是最简单的部分,但我现在搜索了 2 天,还没有找到关于这方面的好教程,所以我认为 StackOverflow 上的人可以帮助我。

我已经设法搜索了第一项(主项,“PrincipalID”),我还想搜索子项。我想要的是这样的

Principal ID    Email Address                     Subject                  Filename
193490          test@test.com                     Exec OUT (report)        q9193.xls
153130          test@test.com                     Standard mail Report     q7389.xls

我现在拥有的是我可以搜索主要号码,但我还想要搜索单词,例如,如果我在文本框中输入“test”,我将获得带有电子邮件地址的记录 = “test@test.com”在顶部,或者更好的是它只会显示该记录并隐藏其余记录,然后如果文本框为空,它会再次显示所有记录。

所以基本上我想在整个列表视图中搜索在搜索文本框中键入的字符串。

希望有人可以帮助我,

我会发自内心的感激。

提前致谢!

【问题讨论】:

  • 你试过ListView.FindItemWithText吗?
  • 我这样做了,但我只让它与第一个“主要”项目列“主体 ID”一起工作

标签: c# mysql database listview search


【解决方案1】:

尝试使用此 C# 代码或类似代码来提取与您的字符串参数匹配的列表视图项。

    public void SearchInListView(ListView myListView, string searchThis) 
    {
            if (searchThis != "") 
            {
                foreach (ListViewItem lvItem in myListView.Items) 
                {
                    foreach (ListViewItem.ListViewSubItem lvSubItem in lvItem.SubItems) 
                    {
                        if (lvSubItem.Length >= 1) 
                        {
                            if (lvSubItem.ToLower().Contains(searchThis.ToLower())) 
                                //Mark this listview item in some way (e.g., change back color) or collect and return it
                            else 
                                //Mark this listview in a different way
                         }    
                    }
                 }
             }
    }

【讨论】:

    【解决方案2】:

    您可以使用 TextBox 的 TextChanged 事件,如果您在列表中搜索,则只能将您正在搜索的记录绑定到网格。

    因此您可以在列表中搜索特定记录。

    【讨论】:

      【解决方案3】:

      你必须触发两个查询.... 如果输入 Textbox1.Text.IsNumber 然后按原则 id 搜索 否则通过电子邮件搜索 在查询中使用like 也许是它的工作

      【讨论】:

        猜你喜欢
        • 2011-03-10
        • 2023-01-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-28
        • 2011-05-19
        • 2010-11-17
        相关资源
        最近更新 更多