2013-06-25 93 views
0

我開發了一個通過SQL CE連接填充Listview的應用程序。我已經有插入,更新和刪除功能。唯一剩下的就是搜索功能。我認爲這是最簡單的部分,但我現在搜索了2天,並沒有找到一個很好的教程,所以我認爲StackOverflow上的某個人可以幫助我。C#有沒有辦法通過文本框搜索所有listview項目?

我設法通過第一項搜索(主項目「PrincipalID」),我也想搜索子項目。我想要的是像

Principal ID Email Address      Subject     Filename 
193490   [email protected]      Exec OUT (report)  q9193.xls 
153130   [email protected]      Standard mail Report  q7389.xls 

我現在是,我可以搜索主要數字,但我也想爲搜索詞,例如,如果我在文本框中鍵入「測試」,我將會在電子郵件地址=「[email protected]」的頂部獲得記錄,或者更好的是,它只會顯示該記錄並隱藏其餘部分,然後如果文本框爲空,則會顯示所有記錄再次。

所以基本上我想搜索整個列表視圖的搜索文本框中鍵入的字符串。

希望有人能幫助我,

我會從我的心臟底部欣賞它。

在此先感謝!

+0

你試過'ListView控件。 FindItemWithText'? – Kash

+0

我這樣做了,但我只是把它與第一個「主要」項目列「Principal ID」 – user2520459

回答

0

嘗試使用此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 
         }  
        } 
       } 
      } 
    } 
0

可以使用TextChanged事件一個TextBox的,如果你通過搜索列表,你只能綁定您正在尋找給電網的記錄。

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

0

你不得不解僱兩個查詢.... 如果進入Textbox1.Text.IsNumber然後通過原則ID 通過電子郵件其他搜索搜索 使用像查詢 也許它的工作

相關問題