簡體   English   中英

具有子項的ListView列表

[英]ListView List With SubItems

好的,如何以編程方式將List<ListViewItem.ListViewSubItem>中的項目添加到ListView 我正在嘗試將3個項目列表彼此相鄰加載,但似乎不起作用...

這是我現在擁有的一些代碼:

    //----------PluginHandler.cs----------/

public static List<ListViewItem> PluginList = new List<ListViewItem>();
public static List<ListViewItem.ListViewSubItem> PluginList2 = new List<ListViewItem.ListViewSubItem>();

PluginList.Clear();
PluginList2.Clear();
foreach (var item in plugin.versions)
{
    var lvitem = new ListViewItem { Text = item.name };
    var lvitem2 = new ListViewItem.ListViewSubItem { Text = item.filename };
    PluginList.Add(lvitem);
    PluginList2.Add(lvitem2);
}

    //----------Form1.cs----------/

lvPluginInfo.Items.AddRange(PluginHandler.PluginList.ToArray());
lvPluginInfo.Items[0].SubItems.AddRange(PluginHandler.PluginList2.ToArray());

我得到的輸出並不是我真正想要的輸出,它會繼續在右側添加子項,而不是像這樣將它們彼此相鄰地添加:

item1a | item2a
item1b | item2b ...

現在我得到:
item1a | item2a | item1b | item2b | ...

有任何想法嗎? 謝謝!

您似乎正在以一種非常奇怪的方式進行此操作。 我認為這是您打算做什么?

lvPluginInfo.Items.Clear();
foreach (var item in plugin.versions)
{
    var lvitem = new ListViewItem(item.name);
    lvitem.SubItems.Add(item.filename);
    lvPluginInfo.Items.Add(lvitem);
}

處理問題的方式是以下行: lvPluginInfo.Items[0].SubItems.AddRange(PluginHandler.PluginList2.ToArray()); 您要將所有子項添加到第一個ListViewItem中。 在循環外添加項目在這里沒有多大意義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM