Listview affichage

nathdiscaz Messages postés 17 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 12 juin 2006 - 1 mai 2006 à 10:49
April_Seb4 Messages postés 19 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 2 octobre 2013 - 4 août 2008 à 13:10
Bonjour,
Je voudrais afficher ma listview au fur et à mesure et non d'un seul coup
Vous connaissez la propriété pour faire ca ?
Merci

2 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
1 mai 2006 à 11:16
Salut,

En dehors d'ajouter les items au fur et à mesure, non.

/*
coq
MVP Visual C#
*/
0
April_Seb4 Messages postés 19 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 2 octobre 2013
4 août 2008 à 13:10
Bonjour

Oui, tu peux
Il faut utiliser la propriété VirtualMode de la ListView
Il faut lier ta ListView avec une List de type générique et implémenter l'évènement RetrieveVirtualItem

Petit exemple pris sur ce site mais j'ai perdu le lien [Que l'auteur me pardonne :-(]

private

List<
Size>
Taille=
new
List<
Size>();

// Initialisation de la collection Taille avec 10.000 items
for (
int i = 0; i < 10000; i++)
{
   Taille.Add(
new
Size(
i.ToString(),
i.ToString()));
}

// Initialisation du listview pour  utiliser le mode virtuel
lvVirtuel.VirtualMode =
true;
lvVirtuel.VirtualListSize = Taille.Count;
// Nombre d'élément du Listview (donc ici 10.000)
lvVirtuel.RetrieveVirtualItem +=
new
RetrieveVirtualItemEventHandler(lvVirtuel_RetrieveVirtualItem);
}

public

void lvVirtuel_RetrieveVirtualItem(
object sender,
RetrieveVirtualItemEventArgs e)
{

// ici l'évènement nous demande l'élément dont l'ID sera : e.ItemIndex
ListViewItem item =
new
ListViewItem(Taille[e.ItemIndex].Width);
item.SubItems.Add(Taille[e.ItemIndex].Height);
System.Diagnostics.
Debug.Print(
"Chargement de l'item nø{0}, {1} {2}",
e.ItemIndex, Taille[e.ItemIndex].Width, Taille[e.ItemIndex].Height);

// On le retourne dans e.Item
e.Item = item;
}

TheVengor
0
Rejoignez-nous