【问题标题】:Silverlight combo box with 1000 values具有 1000 个值的 Silverlight 组合框
【发布时间】:2011-04-06 02:31:07
【问题描述】:

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

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

您已经或将要做什么:
- 当组合框中的值被填充时,使 UI 更具响应性
- 尽快填充组合值

感谢阅读!

更新:

伟大的cmets!赞赏!

我已经编辑了我的帖子以展示用例。

我能想到的最佳替代方案是在我输入时提供类似 Google 自动建议的文本框。

【问题讨论】:

  • 组合框中需要 1000 个值的用例是什么?听起来组合框可能不是最好的解决方案,我建议您重新考虑设计而不是优化...
  • 有一种叫做可用性的东西。请先了解这一点。
  • 这是一个来提问的地方,如果你有知识可以帮助,帮助。不要把这里变成一个喊 RTFM 的地方。
  • /me 组合框中的百叶窗 @ 4000 个值
  • @Tnay - 你是在“颤抖”还是“颤抖”? :P

标签: c# .net silverlight web-services


【解决方案1】:

我会首先避免整个情况-

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

包含 4000 个元素的组合框会带来可怕的用户体验。重新设计它,让用户更容易找到他们正在寻找的东西。

【讨论】:

  • 呵呵,我们发布的内容基本相同..除了你打败了我:(
  • 同意。组合框听起来像是在数千个选项之间进行选择的错误界面。
  • 我不喜欢超过 10 个项目的组合框,否则搜索太多了。考虑一个搜索对话框,让他们找到他们需要的东西。
  • @Nick:是的,我真的同意。在大多数情况下,在 5-6 个项目之后,我会选择不同的类型。然而,大约 20 岁之后,我真的被关闭了......在某些时候,它只是令人讨厌。
  • 我们的应用程序使用标准搜索窗口,其中包含多个字段,当我们在有超过 50 个选项可用的地方时,预先输入会缩小。
【解决方案2】:

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

荒谬地滚动4000个项目,滚动条上的拇指会很敏感,基本上没用。

您让他们搜索数千个项目,让他们实际搜索,然后在对话框中搜索。

【讨论】:

  • @Nick:好建议。虽然不是弹出对话框,而是选择一个在您输入时自动建议的文本框(如 Google 搜索框)。
  • 你比我更了解你的问题,但是是的,这完全取决于他们将如何寻找他们想要的项目。如果只是名称,自动完成功能很棒。如果他们可能需要名称以外的其他条件,搜索对话框可能会更好。
【解决方案3】:

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

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

【讨论】:

  • 让我想起了一个老笑话:“我告诉医生‘我这样做会很痛。我该怎么办?’他回答说,‘不要再那样做了。’”
  • 在寻找特定选项时分页不一定有用。如果他使用组合框来达到预期目的,选择某些东西,必须翻阅数千个项目也好不到哪里去。
【解决方案4】:

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

私人无效雇员用户名TextBox_TextChanged(对象发件人,TextChangedEventArgs e) { Console.WriteLine("你好"); //像这样执行搜索 var query= 你的存储过程在这里执行。 } 非常抽象的解决方案,但我希望你明白这一点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多