我有一個綁定到對象列表的下拉列表。該列表可以有超過20000個項目。我不想立即填充列表。但是,當用戶鍵入列表的文本部分時,控件應該開始過濾列表並顯示匹配的項目。篩選下拉列表
我嘗試以下操作:
private void cboName_TextChanged(object sender, EventArgs e)
{
var query1 = allNames.Where(x => x.firstname.Contains(cboName.Text) || x.lastname.Contains(cboName.Text)).ToList();
cboName.DataSource = query1;
cboName.ValueMember = "id";
cboName.DisplayMember = "firstname";
}
但它不能正常工作性能,明智的。 有沒有辦法做到這一點?
數據源是數據庫嗎? –
編號列表我從JSON文件填充。 –
您可以添加一個eventlistener,它將使用用戶在文本部分中鍵入的值來獲取數據。過濾後,您可以將獲取的數據綁定到該下拉列表。編輯:在看到你做了什麼後,你可以通過僅獲得前20個結果來提高性能? – sander