Ersatz für ListView?

11/01/2008 - 16:01 von Thomas Griepentrog | Report spam
Hallo NG,

habe ein Problem mit dem ListView-Element und meinem Speicher.

Ich öffne eine Datei, welche >40.000 Zeilen á 1926 Zeichen hat.

Diese Zeilen ordne ich eine ListView-Element ein, welches 93 Spalten hat.

Bei ca. 83.000 Eintràgen belegt meine Anwendung > 1.2 GB im Arbeitsspeicher.

Nachdem die Eintràge in der Liste sind, werden Zeilen (die einem bestimmten
Muster entsprechen) in eine Oracle-DB eingetragen oder geupdatet.

Da ich aber die Anzahl der Zeilen in der Datei nicht beeinflussen kann, habe
ich bei Dateien mit mehr als 83.000 Eintràgen ein echtes Problem. Auch weiß
ich nicht, ob auf dem Rechner, auf dem die Anwendung mal laufen soll, der
Arbeitsspeicher ausreicht, oder ob er mir mit einer OutOfMemory-Exception
schon rausspringt.

Daher:
Gibt es da eine Möglichkeit, wie ich das hinbekomme, dass nicht so viel
Speicher belegt wird?
Gibt es ein anderes Element, welches ich verwenden kann?

Das Problem ist ja, ich MUSS dem Anwender zeigen können, welche Zeilen in
der DB gespeichert wurden, fehlerhaft sind etc.

Danke für Hilfe

Thomas Griepentrog
 

Lesen sie die antworten

#1 Frank Dzaebel
11/01/2008 - 16:54 | Warnen spam
Hallo Thomas,

habe ein Problem mit dem ListView-Element und meinem Speicher.
Ich öffne eine Datei, welche >40.000 Zeilen á 1926 Zeichen hat.
Diese Zeilen ordne ich eine ListView-Element ein, welches 93 Spalten hat.



Die ListView hat (unter .NET 2.0) eine:

[ListView.VirtualMode-Eigenschaft (System.Windows.Forms)]
http://msdn2.microsoft.com/de-de/li...irtualmode(VS.80).aspx

mit der man flexibel Caching/Lese-Strategien bei grossenen
Datenmengen entwickeln kann.
Man liest dann jeweils nur die Daten, die man gerade
benötigt (etwas auf Vorrat). Ein Beispiel (allerdings ohne Datei
lesen) auch hier fürs DataGridView:

[Nutzung grosser Datenmengen beim DataGridView]
http://dzaebel.net/DgvVirtual.htm


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen