具有1000个值的Silverlight组合框

时间:2009-09-23 17:21:13

标签: c# .net silverlight web-services

我有一个示例Silverlight应用程序,其中包含一个包含数千个值(~4000)的组合框。这些值从Web服务中提取并且当前已填充,这会花费大量时间并使UI无响应。

用例: - UI中的字段需要由用户填充 - 该字段只能包含某些预定义值(已存在于数据库中)
- 字段中的值无法分组/分类

你做了什么或将做什么:
- 在组合框中填充值时,使UI更具响应性 - 尽快填充组合值

感谢阅读!

更新:

好评!不胜感激!

我已经编辑了我的帖子来介绍用例。

我能想到的最佳替代方案是Google自动建议式文本框,建议我输入内容。

4 个答案:

答案 0 :(得分:10)

我会首先避免整个情况 -

我个人厌恶使用超过20个元素的组合框。在某些时候,选择一个更好的用户界面。

具有4000个元素的组合框可带来可怕的用户体验。重新设计这个以使用户更容易找到他们正在寻找的东西。

答案 1 :(得分:8)

考虑使用弹出窗口进行模态搜索以选择人们想要的项目。让他们输入一些搜索条件,并在列表框中显示结果,这应该是一个更合理的数字。

滚动浏览4000项荒谬的项目并且滚动条上的拇指会非常敏感,它基本上没用。

你让他们搜索成千上万的项目,让他们实际搜索它然后在对话框中。

答案 2 :(得分:4)

嗯,我个人认为具有4000个值的ComboBox非常用户友好,想象一下从4000个选项中选择...

通常当我有这样的大数据时,我会使用分页。

答案 3 :(得分:0)

除了模态搜索之外,有人可以提供另一种选择,而不是说组合框不起作用。如果用户不知道要搜索的值,该怎么办? 例如,试试这个:

    private void employeeUserNameTextBox_TextChanged(object sender,TextChangedEventArgs e)
        {
            Console.WriteLine("Hello");
            //Execute a search like so 
            var query= your stored procedure execution here. 
        }

very abstract solution but I hope you get the point.