내가 콤보 상자 데이터 바인딩 과정도 성능이 저하 될 것이라고 생각합니다. 가능하면 큰 데이터를 처리하기 위해 Combobox 대신 다른 컨트롤을 사용해야합니다.
사용자가 선택하려는 약을 알아야한다고 가정하므로 검색 창에 의학 이름의 일부를 넣을 수 있습니다. 이것은 단지 선택입니다. 사용자가 입력 할 단어를 입력 할 때 TextBox (txtMedicines 내 샘플 코드)를 AutoComplete과 함께 사용하여 목록에서 검색 할 수 있습니다.
이
내가이 도움이되기를 바랍니다 샘플 코드
private void InitializeMedicinesAutoComplete()
{
var searchMed = Lookup.Medicines
.Where(d => d.DosageForm.Equals(cmbType.SelectedValue.ToString())).ToList();
var source = new AutoCompleteStringCollection();
foreach (var med in searchMed)
{
// **DisplayMemberText mean any field that you want to display in searching list
source.Add(med.DisplayMemberText);
}
txtMedicines.AutoCompleteMode = AutoCompleteMode.Suggest;
txtMedicines.AutoCompleteSource = AutoCompleteSource.CustomSource;
txtMedicines.AutoCompleteCustomSource = source;
}
private void cmbType_SelectedIndexChanged(object sender, EventArgs e)
{
InitializeMedicinesAutoComplete();
}
입니다.
사이드 노트 : 나는 [lakh] (http://en.wikipedia.org/wiki/Lakh)이 100.000으로 사용된다고 생각합니다 ... 내 변경이 잘못되어도 언제든지 편집 할 수 있습니다 ... –
' AsParallel은 여기서 뭐하는거야? 'Lookup.Medicines'은 질의 가능한 인터페이스입니까? – Matthew
'AsParallel'은 여기에 아무런 의미가 없습니다. – MarcinJuraszek