2009-09-23 60 views
2

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

用例: - 需要由用户
被填充在UI的场 - 场只能有特定的预定值(已存在于数据库中)
- 该字段中的值不能分组/归类

你做了什么或会做:
- 使UI更加敏感,当值在组合框中
得到填充 - 填充组合值尽可能快地

感谢您的阅读!

更新:

好评!不胜感激!

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

我能想到的最好的选择是Google自动建议类文本框,这表明我输入。

+0

用的是什么情况,需要价值1000在组合框中?这听起来像一个组合框可能不是最好的解决方案,我建议你重新考虑设计,而不是优化... – 2009-09-23 17:23:54

+0

有一种叫**可用性**。请首先了解这一点。 – TheVillageIdiot 2009-09-23 17:25:40

+2

这是一个提出问题的地方,如果你有知识的帮助,帮助。不要把它变成一个喊RTFM的地方。 – Nick 2009-09-23 17:34:10

回答

8

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

滚动4000个项目在荒谬和滚动条上的拇指将是如此棘手,它基本上是无用的。

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

+1

+1首先*实际*答案! – mattruma 2009-09-23 17:33:41

+0

@尼克:好建议。虽然不是弹出式对话框,但会输入一个文本框,在您输入时自动建议(如Google搜索框)。 – pencilslate 2009-09-23 19:46:43

+0

你比我更了解你的问题,但是,这一切都取决于他们将如何寻找他们想要的物品。如果它只是名字,自动完成是真棒。如果他们可能需要除名称以外的其他标准,则搜索对话框可能会更好。 – Nick 2009-09-23 20:55:27

10

我会避免在首位整个战局 -

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

具有4000个元素的组合框会带来可怕的用户体验。重新设计它可以让用户更简单地找到他们想要的东西。

+0

我会投这个更多,但它只让我做一次。 – 2009-09-23 17:24:11

+0

hehe我们发布的基本上是一样的确切的东西..除了你打我吧:( – 2009-09-23 17:24:32

+0

同意。一个组合框听起来像是错误的界面上选择数以千计的选项 – 2009-09-23 17:24:47

4

嗯,我个人不认为4000个值的组合框,非常人性化,想象中选择4000个选择什么......

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

+0

让我想起这个老笑话:“我告诉医生'我这样做的时候疼,我能做什么?'他回答说, '停止这样做'' – 2009-09-23 17:26:18

+0

谢谢,我大声笑了一下..haha – 2009-09-23 17:29:38

+0

寻找特定选项时寻呼不一定有用。如果他正在使用组合框来达到它的目的,选择一些东西,那么不得不翻阅成千上万的项目并不会更好。 – Nick 2009-09-23 17:33:08

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.