[英]Cannot convert from 'double' to 'string' -> Listview subitem
[英]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.