2009-05-08 15 views
0

Ich versuche, eine Menge Daten in ein Datagrid zu laden, die wie Sie erwarten würde, dauert eine lange Zeit zu laden. Das liegt an dem Gesicht, das ich Daten von einem COM-Objekt lade, das ich mit einem benutzerdefinierten Enumerator in .NET-Objekt eingewickelt habe.Der beste Weg, um große Datenmengen in DataGrid zu laden

Ich habe das Datagrid virtuell geladen und es funktioniert gut, aber ich fragte mich, ob es eine bessere Möglichkeit gäbe, dasselbe zu tun.

Was ich bin, ist ein Datagrid, das eine Bildlaufleiste für die gesamte Datenmenge zeigt, aber lädt nur die Daten für die ersten sagen 50 Zeilen dann nach dem Scrollen laden die nächsten 50 oder so.

Weiß jemand, ob dies möglich ist, oder ob es eine Kontrolle gibt, die das automatisch macht?

+0

Paging keine Option? – Cerebrus

Antwort

2

Kann nur ein Teil der Daten vom COM-Objekt geladen werden? Wenn ja, laden Sie beispielsweise 100 Zeilen und speichern Sie die Zeilenanzahl. Verwenden Sie dann im scroll-Ereignis des Rasters die FirstDisplayedScrollingRowIndex-Eigenschaft, um festzustellen, ob Sie nahe an 100 kommen, laden Sie weitere Zeilen und erhöhen Sie die Zeilenanzahl.

Dies zeigt jedoch keine Bildlaufleiste für alle ladbaren Zeilen.

Verwandte Themen