簡體   English   中英

C#如何加快組合框

[英]c# how to speed up a combo box

如何加快組合框填充速度? 從學術上講,假設一個組合框有10億條記錄要呈現。 我們如何最大化程序的速度。 除了組合框,我還可以使用其他什么方法來顯示數據?

以下是我的特定問題的詳細信息:
我正在使用WPF事件處理程序

<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;
    }

DropDownEmployeesUserNames上方的存儲過程定義為

SELECT [UserName],Emp_Number
FROM AdminUser
ORDER BY UserName

它返回14,257行

組合框旨在包含一組有限的選項。 如果您希望允許某人從10億個選項中進行選擇,則最好使用自動完成功能和一個按鈕,該按鈕會彈出一個彈出窗口,該窗口可有效搜索選擇項所需的數據。 我傾向於構建具有以下功能的彈出窗口:

  1. 過濾機制
  2. Alpha限制器
  3. 分頁
  4. 用戶選擇值的方式趨於一致時,最近選擇的/受歡迎的值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM