Vider une listview ?

Résolu
el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 - 11 juil. 2005 à 12:12
el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 - 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.
A voir également:

12 réponses

Tilois Messages postés 721 Date d'inscription dimanche 10 juin 2001 Statut Membre Dernière intervention 27 mars 2011 7
11 juil. 2005 à 12:30
listView1.Items.Clear();
3
el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 9
12 juil. 2005 à 09:45
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
3
el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 9
11 juil. 2005 à 13:54
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)
0
aogie Messages postés 108 Date d'inscription vendredi 11 juillet 2003 Statut Membre Dernière intervention 27 novembre 2007
11 juil. 2005 à 14:48
Bonjour,



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

-- AOGie --
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 9
11 juil. 2005 à 14:59
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 ?
0
el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 9
11 juil. 2005 à 15:01
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
0
aogie Messages postés 108 Date d'inscription vendredi 11 juillet 2003 Statut Membre Dernière intervention 27 novembre 2007
11 juil. 2005 à 15:35
As-tu essayé un autre projet à côté avec un listview que tu remplies puis que tu vides de manière identique ?


-- AOGie --
0
nerix27 Messages postés 86 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 21 juin 2007 2
11 juil. 2005 à 16:30
Et en faisant ceci :

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

Est-ce que cela convient ?
0
aogie Messages postés 108 Date d'inscription vendredi 11 juillet 2003 Statut Membre Dernière intervention 27 novembre 2007
11 juil. 2005 à 16:36
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 --
0
el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 9
11 juil. 2005 à 17:56
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 ?
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
11 juil. 2005 à 19:29
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#
0
el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 9
12 juil. 2005 à 09:38
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
0
Rejoignez-nous