| 

.NET C# Java Javascript Exception

2
Hallo,

ich nutze eine ComboBox an welche ich eine Auflistung mit ca. 5000 Objekten / Items aus einer Datenbank gebunden habe. Wenn nun der Benutzer die ComboBox öffnen möchte, darf er erst einmal eine halbe Ewigkeit warten bis die ComboBox die Elemente gerendert hat und sich wirklich öffnet.
Dies ist natürlich keinem Benutzer zumutbar.

Welche Alternativen gibt es denn, bzw. welches Control ist in WPF zu empfehlen wenn ein User aus einer großen Anzahl von Items wählen soll?

Viele Grüße

Maik
News:
18.12.2012
Maik_1978 674 1 8
1
Liegt der Engpass wirklich beim Rendern oder beim Laden der Daten aus der Datenbank?
5000 Objekte in einer ComboBox - kannst du die Auswahlmöglichkeiten nicht schon vorher einschränken?
AlexF 18.12.2012
2
Wenn das Rendern zu lange dauert, wäre das virtualizing Stackpanel als Control mein erster Anlaufpunkt.
jsc 19.12.2012
Eine ComboBox ist für diese Menge an Daten nicht geeignet, allein schon aufgrund der Bedienbarkeit. Ich würde dir raten, entweder, wie bereits von jsc gesagt, auf Virtualisierung oder, was ich hier zuerst versuchen würde, auf Paging/LoadOnDemand zu setzen. D.h. lade die ersten 100 Datensätze und dann bei Bedarf die nächsten, usw.
stefbauer 19.12.2012
Ich denke selbst wenn der Vorgang des Einlesen/Anzeigen der ComboBox schnell gehen würde, als Benutzer möchte ich nicht 5000 Elemente sichten um dann einen Eintrag zu wählen.
Ich denke man sollte überlegen nach welchen Kriterien der Benutzer seine Auswahl tätigt und dieses als Filter anbieten. Die Suche würde ich auf MAX-Elemente beschränken. Wenn es wirklich nötig ist mehr Elemente anzuzeigen wäre noch ein nachladen von Einträgen zu überlegen. (z.b. erst id 1-100, dann 101-200) Das kann ja auch in Interaktion mit dem Benutzer erfolgen. (Scrollen, Umblättern, etc.)
Platon 19.12.2012
1 Antwort
0
Die Antwort von jsc hat mit sehr geholfen.
Würde den Thread gerne abschließen. Aber alle Antworten sind nur Kommentare...
16.01.2013
Maik_1978 674 1 8

Stelle deine Programmieren-Frage jetzt!