我有一个示例Silverlight应用程序,其中包含一个包含数千个值(~4000)的组合框。这些值从Web服务中提取并且当前已填充,这会花费大量时间并使UI无响应。
用例:
- UI中的字段需要由用户填充
- 该字段只能包含某些预定义值(已存在于数据库中)
- 字段中的值无法分组/分类
你做了什么或将做什么:
- 在组合框中填充值时,使UI更具响应性
- 尽快填充组合值
感谢阅读!
更新:
好评!不胜感激!
我已经编辑了我的帖子来介绍用例。
我能想到的最佳替代方案是Google自动建议式文本框,建议我输入内容。
答案 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.