2012-08-29 5 views
-1

데이터베이스 테이블의 항목이있는 콤보 상자가 있습니다. 텍스트를 변경할 때 데이터베이스 테이블의 항목으로 콤보 상자를 다시 채 웁니다.콤보 상자 드롭 다운 목록에서 항목을 선택하십시오. C#

하지만 텍스트를 입력하면 제안 사항이있는 목록이 열리고 목록에 항목이 선택되지 않습니다. 그리고 항목을 선택하려면 enter 키를 누르면 선택한 항목이됩니다.

이것은 winforms 응용 프로그램입니다.

감사합니다.

cbxNaam.Items.Clear(); 
string query = "SELECT bedr_naam FROM tblbedrijf WHERE bedr_naam LIKE '%" + cbxNaam.Text + "%'"; 
string[] bedrijfsnamen = Functions.DataTableToArray(Global.db.Select(query)); 
cbxNaam.Items.AddRange(bedrijfsnamen); 
cbxNaam.Select(cbxNaam.Text.Length + 1, 0); 
+2

is this winforms/wpf/web? – Giedrius

+0

몇 가지 샘플 코드를 제공 할 수 있습니까? –

+0

그래, 그 winforms –

답변

0

당신이 윈폼를 사용하는 경우,

당신은 당신이 선택해야이 답변 ComboBox AutoComplete Custom Capabilities

+0

하지만 내가 이것을 사용할 때만 자동 완성됩니다. 캐릭터 라인의 선두 그래서 문자열의 중간에있는 이름의 부분 문자열을 입력하면 작동하지 않습니다. –

+0

죄송합니다. Windows 콤보 상자의 자동 완성 [접두사와의 일치] (http://stackoverflow.com/a/2314248/1547740) .. 따라서 사용자 정의 컨트롤을 작성해야합니다. – Krishnakumar

1

을 확인하시기 바랍니다 AutoCompleteSource.ListItems

AutoCompleteMode.Append-AutoCompleteMode 세트 AutoCompleteSource 세트를 사용해야합니다 목록의 항목 - 항목의 일부 텍스트를 선택하는 것처럼 보입니다.

다른 의견에서 일부 정보를 조합하면 기본적으로 드롭 다운 목록의 텍스트에 와일드 카드 일치를 수행하려는 것처럼 보입니다. 이렇게하려면 텍스트 변경 이벤트/메소드에 대한 처리기의 동작을 수정해야합니다 콤보 박스에서 파생되어 인스턴스에 이벤트 리스너 또는 광고를 재정의하십시오. 당신은 내가 경우

+0

이것은 콤보 박스 항목을 선택하고 드롭리스트의 드롭 다운 목록에서 항목을 선택하길 원합니다 –

+0

위 텍스트 업데이트를 참조하십시오 - 이것이 원하는 것보다 많습니다 – dice

0

모르는 등 여러 일치의 작은주의해야합니다

private void cbxNaam_TextChanged(object sender, EventArgs e) 
{ 
    var matchingStrings = bedrijfsnamen.Where(s => s.Contains(cbxNaam.Text)); 
    cbxNaam.SelectedItem = matchingStrings[0]; 
} 

같은 -

그런 다음 배열에있는 데이터에 대한 검색을 할 수 나는 너를 잘 이해한다, 미안하다, 그렇지 않으면! 당신은 당신이 속성 설정해야 콤보 상자에서 당신이 쓸 때 당신이 당신으로 comboBox가 채워하기 원하는 경우

: 여기에 내 대답이다 많은 ListItems에

AutoCompleteMode 추가] 및 AutoCompleteSource 에를

on 항목을 선택하십시오.

희망이 당신을 도왔습니까? 록 온 !!!--)

관련 문제