Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

[.NET2] LISTVIEW ET LE MODE VIRTUEL


Information sur la source



Description

Cliquez pour voir la capture en taille normale
Mode virtuel comment sa marche: Le mode virtuel nous laisse simplement décider des données que l'on affiche dans le listview au moment de l'appel de l'événement RetrieveVirtualItem.

Mode normal: (par défaut) Ce mode charge physiquement (en mémoire) les éléments dans le listview ce qui prend un espace considérable dans la mémoire réservée

Conclusion: Mode virtuel, indispensable si votre listview doit contenir un nombre de plusieurs milliers d'élements.
 

Conclusion

Reprise de la source originale de Seb:
http://www.csharpfr.com/code.aspx?ID=35384
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de romagny13 le 18/03/2007 11:47:32

A oui y a pas photo
en effet c'est drolement plus performant d'utiliser le virtualmode de la listview
(que je ne connaissais pas)
merci de nous faire découvrir des choses comme cela :)

signaler à un administrateur
Commentaire de eldim le 20/03/2007 12:03:00

lol Willi tu ne serais pas un plagieur de csharp.com.. ?

signaler à un administrateur
Commentaire de Willi le 20/03/2007 14:43:21 administrateur CS

oui le mode virtuel c'est quand meme mieux avec what milliers d'éléments :)
euh sinon plagieur comment dois-je l'interpreter ??? serais-je le 1ier de CS à passer une source dans un autre langage :D ?????

signaler à un administrateur
Commentaire de eldim le 20/03/2007 16:48:09

c'était une petite boutade... c'est pour ça que j'ai commencé par "lol"...
(pour la mise à dispo sur vb c'est util car tout le monde ne va pas voir sur c#...)
sinon, as-tu la même chose avec un datagridview lié à un dataset ?

signaler à un administrateur
Commentaire de Willi le 20/03/2007 17:52:25 administrateur CS

Le DataGridView propose un mode virtuel également. Ceci dit, sa doit fonctionner de la même façon qu'il soit lié à un dataset ou pas.

signaler à un administrateur
Commentaire de romagny13 le 20/03/2007 20:15:10

non c'est vrai le datagridview dispose aussi de ce mode !! il faut que je regarde (enfin pour profiter de ce mode de tout facon je pense pas qqu'il faut avoir lié a une datasource celui - ci mais creer dynamiquement les colonnes,lignes et cellules non ?)
++

signaler à un administrateur
Commentaire de eldim le 21/03/2007 07:58:38

je crois bien que c'est un truc dans le genre car j'ai essayé et ça ramène tous les enregistrements d'un coup...

signaler à un administrateur
Commentaire de Hauwee le 21/03/2007 14:59:49

Je tente d'utiliser cette méthode mais il semblerait que le mode virtuel gère "mal" les checkbox. En efft, si pour une listviewitem, on met Checked = True, on voit bien la case à cocher mais dans le cas contraire, on ne la voit pas ! Y-a-t-il une manip à faire ou est-ce un bug ?

signaler à un administrateur
Commentaire de docjava le 23/03/2007 12:04:47

Effectivement votre exemple montre bien l'intérêt du mode Virtuel. Cependant si en mode non virtuel on remplace

'For i As Integer = 0 To colPersonnes.Count - 1
'  ListViewNoVirtualMode.Items.Add(New ListViewItem(New String() {colPersonnes(i).Nom, colPersonnes(i).Prenom}))
'Next

Par

Dim l(colPersonnes.Count - 1) As ListViewItem
For i As Integer = 0 To colPersonnes.Count - 1
  l(i) = New ListViewItem(New String() {colPersonnes(i).Nom, colPersonnes(i).Prenom})
Next
ListViewNoVirtualMode.Items.AddRange(l)

On s'apercoit que la méthode AddRange est nettement plus efficace qu'une boucle avec appel à la méthode Add.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

ListView en mode lwList [ par jockos ] Salut,Quand j'ajoute des éléments (Stringà un une ListView en mode lwList, j'ai un problème...Quand je dépasse la taille de ma ListView, les éléments Saisir à l'intérieur d'un listview en mode report [ par XWinnieX ] Hello !!!J'aimerais savoir s'il est possible de saisir des données dans un listview en mode report car je trouve l'affichage beaucoup plus conviviale Saisir du texte dans un listview [ par boujouman ] Voilà, je travail en vb .net. J'ai un listview en mode détail et je voudrais saisir du texte dans chaque ligne du composant, sans avoir à passer par l Sélection dans LISTVIEW en mode lvwReport [ par jockos ] Comment rendre sélectionnable une ligne d'une LISTVIEW qui contient plusieurs lignes et dont sa propriétés View vaut "lvwReport"?En mode lvwList, y a Drop sur ListView en mode Icon => sélection d'un item [ par niluje ] Bonjour,Voila la question du jour, Dans mon appli j'ai deux ListView, une avec des noms de fichiers et l'autre avec des imprimante.Je fais un drap and ListView en Mode Virtuel et ImageKey d'un ImageList [ par archimed111 ] Bonjour J'ai un petit probléme je n'arrive pas a faire fonctionner quelque chose qui pourtant le devrait. J'ai fait une application de test juste pou Nouvelle question - Icône dans chaque colonne d'un listView en mode lvwReport [ par MyC ] Je n'ai pas bien formulé ma question précédente !Au fait, j'aimerais savoir si c'est possible de mettre des icônes dans chaque colonne d'un listview e Retour à la ligne dans un listview [ par azerty25 ] Bijour allALors voila, je voudrai, dans un listview en mode Small Icon ou List View que lorsque les items avec les images, dépassent la largeur du con [VB .NET] Listview [ par tandoori ] J'ai une listview en mode details que je voudrais trier en cliquant sur les differentes colonnes. Sauf que si je ne dis pas de betise, le tri qui est insérer image dans listview en mode détail [ par niko14 ] le titre en dit bcp!j'ai une listview et je voudrais insérer une image dans la deuxieme colonne!!et aussi est il possible de retrouver apres un item d


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,390 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.