Vider une listview ? [Résolu]

el_teedee 498 Messages postés mercredi 7 juillet 2004Date d'inscription 13 juillet 2015 Dernière intervention - 11 juil. 2005 à 12:12 - Dernière réponse : el_teedee 498 Messages postés mercredi 7 juillet 2004Date d'inscription 13 juillet 2015 Dernière intervention
- 12 juil. 2005 à 09:45
Hello,



comment je peux faire pour -entre deux utilisations- vider ma listview
? j'ai essayer update, refresh après un clear(), mais ca ne marche pas.
Afficher la suite 

Votre réponse

12 réponses

Meilleure réponse
Tilois 721 Messages postés dimanche 10 juin 2001Date d'inscription 27 mars 2011 Dernière intervention - 11 juil. 2005 à 12:30
3
Merci
listView1.Items.Clear();

Merci Tilois 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de Tilois
Meilleure réponse
el_teedee 498 Messages postés mercredi 7 juillet 2004Date d'inscription 13 juillet 2015 Dernière intervention - 12 juil. 2005 à 09:45
3
Merci
MDR !!!!

je viens de comprendre l'erreur en lisant mon code ci dessus.....



En fait, j'ai déclaré en global ma listview en tant que public, MAIS, je la re déclarais au début de remplir_listview().



Ainsi lorsque je croyais vider la seule et unique listview, je vidais
la listview du même nom mais qui était déjà vide. J'ai effacé la ligne

// Create a new ListView control.

ListView list_Liste_Fichiers = new ListView();
list_Liste_Fichiers.Bounds = new Rectangle(new Point(16,264), new Size(480,170));
et tout marche nikel, elle s'efface bien et est bien rafraichit toute seule.







Merci à tous pour vos réponses

Merci el_teedee 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de el_teedee
el_teedee 498 Messages postés mercredi 7 juillet 2004Date d'inscription 13 juillet 2015 Dernière intervention - 11 juil. 2005 à 13:54
0
Merci
j'ai essayé, mais même si cela la vide, l'affichage reste le même, et
les lignes ne disparaissent pas. Je veux ET la vider (ok) ET la
rafraichir (NOK)
Commenter la réponse de el_teedee
aogie 108 Messages postés vendredi 11 juillet 2003Date d'inscription 27 novembre 2007 Dernière intervention - 11 juil. 2005 à 14:48
0
Merci
Bonjour,



Quand tu parles de lignes qui ne disparaissent pas, tu parles de la grille (GridLines) ?

-- AOGie --
Commenter la réponse de aogie
el_teedee 498 Messages postés mercredi 7 juillet 2004Date d'inscription 13 juillet 2015 Dernière intervention - 11 juil. 2005 à 14:59
0
Merci
non, non, non



si je remplit ma listview avec 5 lignes par exemple, je veux faire un bouton qui la vide.



Actuellement, en cliquant sur le bouton j'arrive à vider la listview de
ses items, mais l'affichage reste identique. Les 5 lignes restent
toujours là, et je peux même les sélectionner !



Comment fait-on pour rafraichir la listview après l'avoir vidée ?
Commenter la réponse de el_teedee
el_teedee 498 Messages postés mercredi 7 juillet 2004Date d'inscription 13 juillet 2015 Dernière intervention - 11 juil. 2005 à 15:01
0
Merci
Ou alors, comment fait-on pour tuer le contrôle listview1 ? j'ai essayé
listview1.Dispose(), avec un refresh, ou un update après, mais la
listview ne disparait pas de ma form !!!!



KéZaKo
Commenter la réponse de el_teedee
aogie 108 Messages postés vendredi 11 juillet 2003Date d'inscription 27 novembre 2007 Dernière intervention - 11 juil. 2005 à 15:35
0
Merci
As-tu essayé un autre projet à côté avec un listview que tu remplies puis que tu vides de manière identique ?


-- AOGie --
Commenter la réponse de aogie
nerix27 86 Messages postés jeudi 23 octobre 2003Date d'inscription 21 juin 2007 Dernière intervention - 11 juil. 2005 à 16:30
0
Merci
Et en faisant ceci :

listview.Items.Clear();
Application.DoEvents();

Est-ce que cela convient ?
Commenter la réponse de nerix27
aogie 108 Messages postés vendredi 11 juillet 2003Date d'inscription 27 novembre 2007 Dernière intervention - 11 juil. 2005 à 16:36
0
Merci
Normalement, il n'y a pas besoin d'Application.DoEvents();

Soit il y a un bug... soit quelque chose ne va pas dans ton code car listview.Items.Clear();

suffit.

Est-ce le même thread qui manipule l'objet listview ?

As-tu un extrait de code à fournir pour éclairer un peu plus ?

As-tu essayé ce que je t'ai posté précédemment ?

En dernier recours, tu peux placer en commentaires tout code superflus
jusqu'à obtention du résultat puis décommenter jusqu'à trouver
l'erreur...


-- AOGie --
Commenter la réponse de aogie
el_teedee 498 Messages postés mercredi 7 juillet 2004Date d'inscription 13 juillet 2015 Dernière intervention - 11 juil. 2005 à 17:56
0
Merci
Je crois qu'il y a mésentente en fait. La listview se vide bien, mais
en fait, je crois que c'est que le rafraichissement de ma form1 qui
n'est pas fait. C'est pour ca qu'elle n'est pas mise à jour.



Comment je peux faire pour redessiner les contrôles de ma form1 avec leur nouveau contenu ?
Commenter la réponse de el_teedee
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 11 juil. 2005 à 19:29
0
Merci
Salut,

Avec la méthode Refresh du form.
Mais je ne vois pas non plus pourquoi le rafraichissement ne se fait pas automatiquement.
Tu n'aurais pas fait une appel à la méthode SuspendLayout du ListView en oubliant d'appeler ResumeLayout ensuite ?

Cocoricoooooooo !!!!
coq
MVP Visual C#
Commenter la réponse de cs_coq
el_teedee 498 Messages postés mercredi 7 juillet 2004Date d'inscription 13 juillet 2015 Dernière intervention - 12 juil. 2005 à 09:38
0
Merci
Non, non, Coq, je ne touche pas encore à
l'affichage, c'est pour ça que je cafouille un peu sur les méthodes à
utiliser pour rafraichir ma form. Tu dis que c'est censé rafraichir la
listview tout seul ? Pourtant ça ne le fait pas. Est-ce parcequ'elle
est contenu dans un tabControl sur ma form1 ? Qu'est-ce que je dois
rafraichir, (si rafraichir qqch je dois) :

_ listview1.refresh() ? marche pas

_ MaForm.tabControl1.TabPages[0].Refresh(); ? marche pas

_ MaForm.Refresh(); ? marche pas

_ Application.DoEvents(); ? marche pas



Bon, sinon, je vous donne le code dont je me sers pour remplir ma listview qui s'appelle list_Liste_Fichiers.





private void Remplir_la_listview(string string_La_Liste)

{

DateTime dt = DateTime.Now;

Trame ma_trame = new Trame();

string[,] tableau = ma_trame.De_Concatener_La_Liste(string_La_Liste);



// Create a new ListView control.

ListView list_Liste_Fichiers = new ListView();


list_Liste_Fichiers.Bounds = new Rectangle(new Point(16,264), new
Size(480,170));


list_Liste_Fichiers.View = View.Details;

list_Liste_Fichiers.LabelEdit = true;

list_Liste_Fichiers.AllowColumnReorder = true;

list_Liste_Fichiers.CheckBoxes = true;

list_Liste_Fichiers.FullRowSelect = true;

list_Liste_Fichiers.GridLines = true;

list_Liste_Fichiers.Sorting = SortOrder.Ascending;



ListViewItem[] col_lvi = new ListViewItem[tableau.Length / 5];

//on copie la
collection historique dans une temporaire que je vais vider au fur


//et à mesure que je rencontre les fichiers présents.

ma_col_historique_recherchee = ma_col_historique.duplicate();



for (int i=0; i
Commenter la réponse de el_teedee

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.