119 messaggi dal 19 ottobre 2005
Ciao a tutti,
sto sviluppando un'applicazione Windows Forms (.NET Framework 2.0) molto banale che recupera dei dati da un database e li mostra in una listview.
Ho però un problema quando il database diventa molto grande, tipo con 33000 record.

L'avvio dell'applicazione è molto lento, per via del ciclo di riempimento della listview.
Vorrei eseguirlo in modo asincrono ma ho problemi di tipo
"cross-process". Posso eseguire del codice in modo asincrono nello stesso process?

Grazie a tutti.
.
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao,
prova ad usare la ListView in "VirtualMode".
http://www.codeproject.com/Articles/42229/Virtual-Mode-ListView

E' inutile precaricare tutti i 33.000 record se poi, di fatto, a monitor ne vengono mostrati solo qualche decina. In modalità virtuale, la ListView può caricarne pochi alla volta, man mano che l'utente scrolla la lista.

Penso che sia la soluzione che richiede meno sforzo, sia per te che per le risorse del PC.

ciao,
Moreno.

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.