begin process at 2008 07 04 23:56:31
1 204 997 membres
512 nouveaux aujourd'hui
14 118 membres club

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

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
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

  • 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

Pub



Appels d'offres

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS