Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

help Items.AddRange

3 réponses
Avatar
Vincent
bonjour,

dans un listview je fais : mylistview.Items.Add("texte")

le problème et que coté affichage, quand il y a 800 lignes .... ca rame
pour afficher la liste.

Il me semble que si je faisais un Items.AddRange(la liste de string) ca
irait plus vite.

Elas je n'arrive pas à tranformer la liste de string en listviewitems

mon code serait du genre :

foreach(string texte in maliste)
{

construire messtrings

}
listview.Items.AddRange(messtrings);

je n'ai pas reussi a avoir un code qui marche, la difficulté étant d'ajouter
des strings dans un tableau(?) puis de le transformer en listviewitems(?)

comment construire messtrings ?

une idée ? un exemple ?

merci

Vincent

3 réponses

Avatar
Gilles TOURREAU
Le Tue, 16 Oct 2007 18:27:53 +0200, Vincent
a écrit:

bonjour,

dans un listview je fais : mylistview.Items.Add("texte")

le problème et que coté affichage, quand il y a 800 lignes .... ca rame
pour afficher la liste.

Il me semble que si je faisais un Items.AddRange(la liste de string) ca
irait plus vite.

Elas je n'arrive pas à tranformer la liste de string en listviewitems

mon code serait du genre :

foreach(string texte in maliste)
{

construire messtrings

}
listview.Items.AddRange(messtrings);

je n'ai pas reussi a avoir un code qui marche, la difficulté étant
d'ajouter
des strings dans un tableau(?) puis de le transformer en listviewitems(?)

comment construire messtrings ?

une idée ? un exemple ?

merci

Vincent








Il faut "encadrer" votre ajout entre les méthodes :

lv.BeginUpdate()
lv.Items.Add(...)
lv.EndUpdate()

Cela permet de ne pas redessiner le contrôle à chaque ajout d'un élément...

Inutile dans ce cas de créer un tableau de string...

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Avatar
Vincent
Merci, je vais essayer.

un seul begin et end pour plusieurs add ou 1 begin/1 add/1 end ? ( je vais
tester)

Vincent

"Gilles TOURREAU" a écrit dans le message de news:

Le Tue, 16 Oct 2007 18:27:53 +0200, Vincent
a écrit:

bonjour,

dans un listview je fais : mylistview.Items.Add("texte")

le problème et que coté affichage, quand il y a 800 lignes .... ca rame
pour afficher la liste.

Il me semble que si je faisais un Items.AddRange(la liste de string) ca
irait plus vite.

Elas je n'arrive pas à tranformer la liste de string en listviewitems

mon code serait du genre :

foreach(string texte in maliste)
{

construire messtrings

}
listview.Items.AddRange(messtrings);

je n'ai pas reussi a avoir un code qui marche, la difficulté étant
d'ajouter
des strings dans un tableau(?) puis de le transformer en listviewitems(?)

comment construire messtrings ?

une idée ? un exemple ?

merci

Vincent








Il faut "encadrer" votre ajout entre les méthodes :

lv.BeginUpdate()
lv.Items.Add(...)
lv.EndUpdate()

Cela permet de ne pas redessiner le contrôle à chaque ajout d'un
élément...

Inutile dans ce cas de créer un tableau de string...

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr


Avatar
jerome crevecoeur
Salutations,

Un seul begin avant la boucle
et un seul end après la boucle.

Et les performances sont bien meilleures !

Cordialement

Vincent a écrit :
Merci, je vais essayer.

un seul begin et end pour plusieurs add ou 1 begin/1 add/1 end ? ( je v ais
tester)

Vincent

"Gilles TOURREAU" a écrit dans le message de news:

Le Tue, 16 Oct 2007 18:27:53 +0200, Vincent
a écrit:

bonjour,

dans un listview je fais : mylistview.Items.Add("texte")

le problème et que coté affichage, quand il y a 800 lignes .... ca rame
pour afficher la liste.

Il me semble que si je faisais un Items.AddRange(la liste de string) ca
irait plus vite.

Elas je n'arrive pas à tranformer la liste de string en listviewite ms

mon code serait du genre :

foreach(string texte in maliste)
{

construire messtrings

}
listview.Items.AddRange(messtrings);

je n'ai pas reussi a avoir un code qui marche, la difficulté étan t
d'ajouter
des strings dans un tableau(?) puis de le transformer en listviewitem s(?)

comment construire messtrings ?

une idée ? un exemple ?

merci

Vincent







Il faut "encadrer" votre ajout entre les méthodes :

lv.BeginUpdate()
lv.Items.Add(...)
lv.EndUpdate()

Cela permet de ne pas redessiner le contrôle à chaque ajout d'un
élément...

Inutile dans ce cas de créer un tableau de string...

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr