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:
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.
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);