TI Québec - Le forum des professionnels en TI au Québec !
10 Mars 2010, 10:12:12 *
Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?

Connexion avec identifiant, mot de passe et durée de la session
Nouvelles: TI-Québec est tout nouveau... créez-votre compte et commencez à participer dès maintenant!
 
   Accueil   Aide Rechercher Identifiez-vous Inscrivez-vous  
Pages: [1]
  Imprimer  
Auteur Fil de discussion: Remplir un listview  (Lu 581 fois)
Yianks
Octet
*

Karma: 0
Messages: 1


Courriel
« le: 14 Juillet 2008, 01:09:42 »

Avez-vous jamais eu à remplir un Listview à partir d'une list typé ou d'un tableau quelqu'onque?

En C#, on pourrait tenter de procéder comme suit:

Code:
ListView lvEmploye = new ListView();

List<string> listeEmploye = CodeQuiRemplitLaListe();

foreach (string employe in listeEmploye) {
ListViewItem lvItem = new ListViewItem();
lvItem.Text = employe;

lvEmploye.Items.Add(lvItem);
}

Avec un liste peu nombreuse, soit moins de 1000 enregistrements, ça peut sembler une bonne manière. Cependant, si vous dépassez les 2000 enregistrements, vous allez vite remarquer que votre Listview prend plusieurs seconde à se remplir.

La solution est simple, il suffit de se créer un tableau de ListViewItem et de l'ajouter d'un coup. Malgré que le code semble être plus compliqué, vous économiserez BEAUCOUP de temps lorsque vous aller remplir votre listview.

Code:
ListView lvEmploye = new ListView();

List<string> listeEmploye = CodeQuiRemplitLaListe();

ListViewItem[] employes = new ListViewItem[listeEmploye.Count];

int index = 0;
foreach (string employe in listeEmploye) {
ListViewItem lvItem = new ListViewItem();
lvItem.Text = employe;

employes[index] = lvItem;

index++;
}

lvEmploye.Items.AddRange(employes);

« Dernière édition: 14 Juillet 2008, 21:17:23 par Yianks » Journalisée
Pages: [1]
  Imprimer  
 
Aller à:  

Propulsé par MySQL Propulsé par PHP Powered by SMF 1.1.5 | SMF © 2006-2007, Simple Machines LLC XHTML 1.0 Transitionnel valide ! CSS valide !
Page générée en 0.154 secondes avec 17 requêtes.

Google visited last this page 07 Mars 2010, 18:54:25