我正在构建一个Silverlight应用程序,其中一个任务将涉及用户从大约1300个项目的列表中选择一个项目。向用户展示此列表的最佳方法是什么?我认为ComboBox中有1300个项目太多了。是吗?这种情况的最佳做法是什么?这些项目是具有以下模式的库存位置:
第1行 - 过道1 - 第1级
第1行 - 过道1 - 第2级
...
第1行 - 过道2 - 第1级
...
第2行 - 过道1 - 第1级
等等。
还会有其他一些地点,例如:货运码头,中转区等......
我想有一个TextBox和ListBox,其中ListBox将开始填充用户输入TextBox的匹配项。数据可以来自Web服务还是存储在独立存储中?
答案 0 :(得分:2)
是的,1300对于组合框来说太多了。使用组合框在网站上选择我的国家似乎总是对我来说是边缘线,而1300则不止于此。
对于您的数据结构,我强烈建议您选择行,然后选择过道,然后将其分为三个单独的内容。每次更新下一个框。在每个选项中,列表框的使用速度比组合框快,但占用的屏幕空间更多。
答案 1 :(得分:1)
使用上面有一个编辑框的列表(或表中有更多信息),根据用户输入的文本过滤列表。
这与问题中的建议不同,默认情况下会显示所有数据,然后将其过滤掉。
答案 2 :(得分:1)
听起来你的物品是高度分组的。这意味着您可以使用树视图显示项目,也可以显示可以选择的区域的图像(布局图?)。
拥有一个带有自动填充功能的文本框(以及在文本框旁边实时更新的-say- 20个最佳猜测列表)将是解决此问题的一种旧方法。
答案 3 :(得分:0)
我同意@tom和@davidrutten。树视图或自动完成类型控件听起来最好。查看Silverlight toolkit
中的TreeView和AutoCompleteBox控件