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
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
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" <gilles.tourreau@pos.fr> a écrit dans le message de news:
op.t0atzne6r4w555@bureau1.pos.fr...
Le Tue, 16 Oct 2007 18:27:53 +0200, Vincent
<vincent31spamaoter@wanadoo.fr> 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
gilles.tourreau@pos.fr
S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
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