2011-08-06 4 views
4

J'ai l'application Windows où les données viennent via json J'ai analysé les données et capable de montrer dans listview.Comment ajouter une image dans la vue liste en C#?

Maintenant, je veux ajouter une image à avec. J'ai essayé beaucoup de choses oh mais cela ne fonctionne pas. Selon mon besoin.

Veuillez indiquer comment afficher ces données dans la zone de liste.

J'utilise ce code.

listView1.Columns.Add("brand", 100, HorizontalAlignment.Left); 
listView1.Columns.Add("rating", 100, HorizontalAlignment.Left); 
listView1.Columns.Add("max_price", 100, HorizontalAlignment.Left); 
listView1.SmallImageList = imageList1; 

foreach (var item in lstItemDetails) 
{ 
    ListViewItem objListViewItem = new ListViewItem(item.image_medium); 
    objListViewItem.SubItems.Add(item.brand); 

    objListViewItem.SubItems.Add(item.rating); 
    objListViewItem.SubItems.Add(item.max_price); 

    if (!string.IsNullOrEmpty(item.rating)) 
    { 
     int rating = int.Parse(item.rating); 
     objListViewItem.ImageIndex = rating; 
    } 
    else 
    { 
     objListViewItem.ImageIndex = 0; 
    } 

    listView1.Items.Add(objListViewItem); 
} 

Ceci montre seulement la dernière image assignée dans tous les lieu. commencer à évaluer l'image en fonction du nombre d'éléments.

S'il vous plaît me suggérer le meilleur moyen de résoudre ce problème.

+0

Si vous avez un élément réer l'image l'index devient 0. Ainsi, tous les éléments de la liste qui ont une note se retrouvent avec la même image. – MrFox

+0

Le code qui initialise imageList1 est manquant. Donc, c'est probablement la cause du problème. Assurez-vous de * ajouter * des images à l'ImageList, ne pas les remplacer. –

Répondre

4

Si vous faites quelque chose avec un ListView, vous faites une faveur énorme et utilisez un ObjectListView à la place. ObjectListView est un wrapper autour d'un .NET ListView standard qui fournit des méthodes pour à peu près tout ce que vous pourriez vouloir faire, plus des correctifs pour presque tous les problèmes/bogues que ListView a.

Par exemple, il peut construire votre entière ListView - avec le tri, le regroupement et l'édition - par la simple création de colonnes, puis en appelant SetObjects()

enter image description here

Questions connexes