2011-03-27 2 views
11

J'essaie d'utiliser un mode d'affichage des détails d'un ListView dans winforms, mais aucun des éléments s'affichent. Le listview lui-même grandit au fur et à mesure que des éléments sont ajoutés, mais rien n'est affiché.Affichage de la vue de liste affichage n'affichant rien

Il affiche les éléments en mode liste, mais pas en mode Détails.

J'ai utilisé le code suivant, des idées?

forms_listView.Columns.Add("URL"); 
forms_listView.Columns.Add("Position"); 

et

ListViewItem lvi = new ListViewItem(); 
lvi.Tag = form; 
lvi.Text = form.URL; 
lvi.Name = "URL"; 
ListViewItem.ListViewSubItem subItem = new ListViewItem.ListViewSubItem(lvi, "Position"); 
subItem.Name = "Position"; 
subItem.Text = ""+form.Position; 
lvi.SubItems.Add(subItem); 
forms_listView.Items.Add(lvi); 
+2

Votre problème n'est pas dans ce peu de code. –

+2

@David Heffernan Merci. En raison de votre commentaire, j'ai regardé autour d'ailleurs et je l'ai trouvé :) Je n'ai jamais réalisé que les colonnes sont aussi bien supprimées. – Kurru

+3

Utilisez Items.Clear() –

Répondre

21

Je trouve mon problème. J'appelais la méthode listview.Clear() qui dans la documentation dit qu'elle supprime tous les éléments et toutes les colonnes, ce qui ne causait aucun élément à afficher.

+7

lol J'ai essayé de déboguer le même problème pendant les 20 dernières minutes! merci :) besoin d'appeler listview.Items.Clear() – csauve

+0

La réponse était aussi utile pour C++, car je devais appeler 'ListView_SetExtendedListViewStyle' et' ListView_InsertColumn' en premier (les autres vues semblaient bien). –

+0

C'est toujours la petite chose la plus idiote, n'est-ce pas? – Philip

4
forms_listView.Columns.Add("First Column Title"); 
... 
forms_listView.Columns.Add("Last Column Title");