【问题标题】:How to Add Image In List View in C#?如何在 C# 的列表视图中添加图像?
【发布时间】:2011-08-06 11:16:33
【问题描述】:

我有 Windows 应用程序,其中数据来自 json 我已经解析了数据并能够在列表视图中显示。

现在我想将图像添加到 in。我已经尝试了很多哦,但这不起作用。 根据我的需要。

请指导我将如何在列表框中显示此数据。

我正在使用此代码。

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。所以列表中所有有评价的项目最终都会得到相同的图像。
  • 缺少初始化 imageList1 的代码。所以这可能是问题的原因。确保将图像添加到 ImageList,而不是替换它们。

标签: c# winforms listview


【解决方案1】:

如果您正在使用 ListView 做任何事情,那么您可以帮自己一个大忙,改用 ObjectListView。 ObjectListView 是标准 .NET ListView 的包装器,它为几乎所有您想做的事情提供方法,并修复了 ListView 几乎所有的问题/错误。

例如,它可以构建您的整个 ListView - 完成排序、分组和编辑 - 只需创建列然后调用 SetObjects()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-22
    • 2015-03-28
    • 1970-01-01
    相关资源
    最近更新 更多