Reputation: 9530
I am building a Silverlight application where one of the tasks will involve the user selecting one item from a list of approximately 1300 items. What would be some of the best ways to present this list to the user? I think 1300 items in a ComboBox is too many. Is it? What are the best practices for this kind of situation? The items are inventory locations that have a pattern such as:
Row 1 - Aisle 1 - Level 1
Row 1 - Aisle 1 - Level 2
...
Row 1 - Aisle 2 - Level 1
...
Row 2 - Aisle 1 - Level 1
and so on.
There will also be some other locations such as: Shipping Dock, Staging Area etc...
I would like to possibly have a TextBox and ListBox where the ListBox would start be populated with matches to what the user enters into the TextBox. The data could be from a web service or stored in Isolated Storage?
Upvotes: 1
Views: 556
Reputation: 4004
I agree with both @tom and @davidrutten. Either a treeview or autocomplete type controls sound the best. Look at the TreeView and AutoCompleteBox controls in the Silverlight toolkit
Upvotes: 0
Reputation: 4806
It sounds like your items are highly grouped. This means you can either use a tree-view to present the items, or you can even display an image (floorplan?) of the areas which can be selected.
Having a textbox with autocomplete (and a list of -say- 20 best guesses update in realtime next to the textbox) would be the old-skool way of solving this.
Upvotes: 1
Reputation: 44871
Use a list (or table if there's more info) with an edit box above that filters the list based on the text as the user types.
This is different from what's suggested in the question as by default it shows all the data and then filters it down.
Upvotes: 1
Reputation: 132327
Yes, 1300 is too many for a combo box. Using a combo box to select my country on a website always seems borderline to me, and 1300 is more than that.
With your data structure I highly recommend choosing row, then aisle, then level as three separate things. Update the next box each time. Within each selection, list boxes are faster to use than combo boxes, but take up more screen space.
Upvotes: 2