2011-08-06 135 views
4

我有Windows應用程序,其中數據通過JSON傳遞我已經解析了數據並能夠在listview中顯示。如何在C#中的列表視圖中添加圖像?

現在我想添加圖像與英寸我已經嘗試了很多哦東西,但這是行不通的。 根據我的需要。

請指導我如何在列表框中顯示此數據。

我正在使用此代碼。

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); 
} 

這隻顯示最後分配的圖像在所有地方。根據item.rating計數開始評級圖像。

請給我更好的解決方法。

+0

如果你有reating圖像的項目索引變爲0.因此,列表中具有評級的所有項目都以相同的圖像結束。 – MrFox

+0

初始化imageList1的代碼缺失。所以這可能是問題的原因。確保將*圖像添加到ImageList,而不是替換它們。 –

回答

4

如果您正在做任何與ListView有關的事情,那麼您會爲自己做一件大好事,並使用ObjectListView來代替。 ObjectListView是一個標準的.NET ListView的包裝,它提供了幾乎所有你想做的事情的方法,並且修復了幾乎所有ListView所存在的問題/錯誤。

例如,它可以建立你的整個的ListView - 完整的排序,分組和編輯 - 僅通過創建列,然後調用SetObjects()

enter image description here

相關問題