2011-04-05 15 views
1

콤보 상자의 속도를 빠르게하는 방법은 무엇입니까? 학문적으로 말하면 combox 상자에 10 억 개의 레코드가 있다는 것을 상상해보십시오. 우리는 어떻게 프로그램의 속도를 극대화 할 것입니까? 콤보 상자 대신 데이터를 표시하는 데 사용할 수있는 다른 방법은 무엇입니까? 내가콤보 박스 속도를 높이는 방법

DropDownEmployeesUserNames 위의 저장 프로 시저

SELECT [UserName],Emp_Number 
FROM AdminUser 
ORDER BY UserName 

로 정의 그것은 반환

<ComboBox Height="24" SelectedIndex="0" HorizontalAlignment="Left" 
Margin="146,27,0,0" Name="emoployeeUserNameComboBox" VerticalAlignment="Top" 
Width="198" Loaded="emoployeeUserNameComboBox_Loaded"/> 

private void emoployeeUserNameComboBox_Loaded(object sender, RoutedEventArgs e) { 
    using (ToolboxDataContext dbToolbox = new ToolboxDataContext()) { 
     var query = (from x in dbToolbox.DropDownEmployeesUserNames() 
        select x.UserName).ToList(); 
     this.emoployeeUserNameComboBox.ItemsSource = query; 
    } 

14,257 행

+1

Combobox에서 심각하게 14000 행? – Chandu

+6

그런 콤보 박스는 아무리 빠르더라도 사용할 수 없게됩니다. – SLaks

+1

가상화 패널을 사용하여 자신 만의 콤보 박스를 구현하는 것이 더 좋겠습니까? –

답변

3
에게 WPF 이벤트 핸들러를 사용하고
: 여기

는 내 특정 질문에 대한 세부 사항입니다

콤보 상자에는 제한된 옵션 집합 만 포함됩니다. 누군가 10 억 가지 옵션 중에서 하나를 선택할 수 있도록하려면 버튼을 사용하여 자동 완성 기능을 사용하는 것이 좋습니다. 팝업 창이 열리면 항목을 선택하는 데 필요한 데이터를 효율적으로 검색 할 수 있습니다. 방법에서 약간의 일치가있을 경향이

  1. 필터 메커니즘
  2. 알파 제한
  3. 페이징
  4. 최근 선택/인기 값 : 나는 다음과 같은 기능을 가진 팝업을 구축하는 경향이 사용자가 값을 선택
+0

나는 가능한 사용자가 무엇인지 볼 수 있기를 바랍니다. 입력하는 대신. – hidden

+0

아마 내가 DataGrid의 결과를 제어하는 ​​텍스트 상자를 만들어야합니다. 그런 다음 사용자가 직원을 선택할 수 있습니다. – hidden

관련 문제