簡體   English   中英

C#是否可以使用文本框搜索所有列表視圖項?

[英]C# Is there a way to search through all listview items with a textbox?

我已經開發了一個通過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”,或者最好是只顯示該記錄並隱藏其余記錄,然后,如果文本框為空,則再次顯示所有記錄。

因此,基本上我想在整個列表視圖中搜索在搜索文本框中鍵入的字符串。

希望有人可以幫助我,

我將發自內心的感謝。

提前致謝!

嘗試使用此C#代碼或類似的方法來提取與您的字符串參數匹配的listview項。

    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
                         }    
                    }
                 }
             }
    }

您可以使用TextBox的TextChanged事件,並且如果在列表中進行搜索,則只能將要搜索的記錄綁定到網格。

因此,您可以在列表中搜索特定記錄。

您必須啟動兩個查詢...。如果輸入Textbox1.Text.IsNumber,然后按原則ID搜索,否則按電子郵件進行搜索,例如查詢,也許是它的工作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM