簡體   English   中英

用字符串搜索Listview子項

[英]Search Listview subitem with string

我有一個Listview包含數據庫中的所有來賓

        public FormGuestManagement()
    {
        InitializeComponent();

        listViewGuests.View = View.Details;
        listViewGuests.GridLines = true;
        listViewGuests.Scrollable = true;
        listViewGuests.FullRowSelect = true;
        listViewGuests.HideSelection = false;
        var guests = Repository.GetAllGuests();

        foreach (var guest in guests)
        {
            ListViewItem lvData = new ListViewItem(guest.AccountID.ToString());

            lvData.SubItems.Add(guest.Username);
            lvData.SubItems.Add(guest.Email);
            lvData.SubItems.Add(guest.FirstName);
            lvData.SubItems.Add(guest.LastName);
            lvData.SubItems.Add(guest.TelephoneNumber);
            lvData.SubItems.Add(guest.AddressLine1);
            lvData.SubItems.Add(guest.AddressLine2);
            lvData.SubItems.Add(guest.City);
            lvData.SubItems.Add(guest.State);
            lvData.SubItems.Add(guest.Postcode);
            lvData.SubItems.Add(guest.Country);

            listViewGuests.Items.Add(lvData);
        }
    }

怎么可能用一個字符串搜索一個單列(在這種情況下為guest.Firstname),而只在列表視圖中顯示與該字符串匹配的值(隱藏其他字符串)?

感謝您的時間!

ListView控件不提供所需的功能。 為了模擬您描述的內容,每次過濾條件發生變化時,您都必須重新構建所需的列表。

或者,您可以按照一位評論者的建議進行操作,並使用更強大的功能,例如DataGridView 此控件提供了真實的行/列行為,並采用了可以綁定的DataSource

LINQ有可能並且應該非常簡單:

using System.Linq;


var result = guests.Where(guest => guest.FirstName.Equals("Test"));

暫無
暫無

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

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