[.NET2] LISTVIEW ET LE MODE VIRTUEL

romagny13 Messages postés 687 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 27 août 2014 - 18 mars 2007 à 11:47
docjava Messages postés 4 Date d'inscription mardi 18 mars 2003 Statut Membre Dernière intervention 23 mars 2007 - 23 mars 2007 à 12:04
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/41879-net2-listview-et-le-mode-virtuel

docjava Messages postés 4 Date d'inscription mardi 18 mars 2003 Statut Membre Dernière intervention 23 mars 2007
23 mars 2007 à 12:04
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.
Hauwee Messages postés 79 Date d'inscription vendredi 8 décembre 2006 Statut Membre Dernière intervention 29 janvier 2010
21 mars 2007 à 14:59
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 ?
cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 1
21 mars 2007 à 07:58
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...
romagny13 Messages postés 687 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 27 août 2014 3
20 mars 2007 à 20:15
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 ?)
++
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
20 mars 2007 à 17:52
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.
cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 1
20 mars 2007 à 16:48
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 ?
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
20 mars 2007 à 14:43
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 ?????
cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 1
20 mars 2007 à 12:03
lol Willi tu ne serais pas un plagieur de csharp.com.. ?
romagny13 Messages postés 687 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 27 août 2014 3
18 mars 2007 à 11:47
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 :)
Rejoignez-nous