[英]Dynamically search listbox using textbox in C#
我有一個包含一些設備的數據庫,我希望在我的文本框中輸入時能夠在我的列表框中動態搜索。 我在 StackOverflow 上嘗試了一些其他建議: 動態搜索結果 C#
到目前為止,我有這個:
List<Device> devices = new List<Device>();
private void UpdateBindings()
{
deviceFoundListbox.DataSource = devices;
deviceFoundListbox.DisplayMember = "FullInfo";
}
private void searchTextbox_TextChanged(object sender, EventArgs e)
{
DataAccess database = new DataAccess();
devices = database.GetDevice(searchTextbox.Text);
lock(lockObject)
{
lastChange = DateTime.Now;
textChanged = true;
}
}
private void dynamicSearchTimer_Tick(object sender, EventArgs e)
{
lock(lockObject)
{
if(textChanged && lastChange > DateTime.Now.AddSeconds(-2))
{
UpdateBindings();
textChanged = false;
lastChange = DateTime.Now;
}
}
}
但是,我似乎無法讓它工作。
任何幫助表示贊賞!
編輯:設備類:
internal class Device
{
public string DeviceName { get; set; }
public string SerialNumber { get; set; }
public string LoanStatus { get; set; }
public string Initials { get; set; }
public string FullInfo
{
get
{
return $"Device: {DeviceName} S/N: {SerialNumber} Loaner Status: {LoanStatus} Initials: {Initials}";
}
}
}
結果已分配給“設備”,您正在將“設備”更新為數據源?
如何分配:device = database.GetDevice(searchTextbox.Text); 什么返回 database.GetDevice(); 添加設備列表時是否有設備聲明? 還是您將設備添加到設備? 您基本上可以使用devices.Add(database.GetDevice());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.