我正在尝试为我的列表视图创建一个搜索框,但无法正常工作 [英] I am trying to make a search box for my listview, but not work correctly

查看:61
本文介绍了我正在尝试为我的列表视图创建一个搜索框,但无法正常工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

The code only works once when you start





我尝试过的方法:





What I have tried:








private void textBox1_TextChanged(object sender, EventArgs e)
       {
           for (int i = 0; i < listView1.Items.Count; i++)
           {

              if (listView1.Items[i].SubItems[0].Text.Contains(textBox1.Text) ||
              listView1.Items[i].SubItems[1].Text.Contains(textBox1.Text) ||
              listView1.Items[i].SubItems[2].Text.Contains(textBox1.Text))
               {
                   productList.Add(listView1.Items[i]);
               }
           }

           if ( !(string.IsNullOrWhiteSpace(textBox1.Text)) )
           {
               foreach (ListViewItem item in listView1.Items)
               {
                   if (productList.Find(x => x == item) == null)
                   {
                       listremovedProducts.Add(item);
                       listView1.Items.Remove(item);
                   }
               }

           }
           else
           {
               try
               {
                   foreach (var item in listremovedProducts)
                   {
                       listView1.Items.Add(item);
                   }
               }
               catch (Exception) { };
           }
       }
   }

推荐答案

<pre> private void textBox1_TextChanged(object sender, EventArgs e)
        {
           
            if (!string.IsNullOrWhiteSpace(textBox1.Text))
            {
                for (int i = 0; i < listView1.Items.Count; i++)
                {

                    if ((listView1.Items[i].SubItems[0].Text.Substring(0,textBox1.Text.Length) != textBox1.Text ||
                   listView1.Items[i].SubItems[1].Text.Substring(0,textBox1.Text.Length) != textBox1.Text||
                   listView1.Items[i].SubItems[2].Text.Substring(0, textBox1.Text.Length) != textBox1.Text))
                    {
                       
                        listView1.Items.Remove(listView1.Items[i]);
                        i--;
                    }
                }
            }
            else
            {
                foreach (ListViewItem item in listView1.Items)
                {
                    listView1.Items.Remove(item);
                }
                foreach (ListViewItem item in listesas)
                {
                    listView1.Items.Add(item);
                }
            }
        }


这篇关于我正在尝试为我的列表视图创建一个搜索框,但无法正常工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆