将项目插入C#Winforms列表视图

Bor*_*ris 1 c# listview winforms

以下一行给我带来了严重的问题:

listView1.Items.Insert(0, new ListViewItem("Test", listView1.Groups[0]));
Run Code Online (Sandbox Code Playgroud)

我想要做的就是将项目插入列表视图.列表视图处于详细模式,并启用了组.插入的项目应该进入索引0处的第一个组.但是,该项目始终是作为组中的最后一个项目添加的.好像插入(...)的第一个参数没有效果......

我在这里缺少什么?

顺便说一句:列表视图中的排序已禁用!

H-M*_*an2 6

你可以试试:

ListViewItem item = new ListViewItem("Test");
this.listView1.Items.Insert(0, item);
this.listView1.Groups[0].Items.Insert(0, item);
Run Code Online (Sandbox Code Playgroud)

详细讨论可以在这里找到.

此示例将三个组添加到列表视图,并在组的第一个位置添加项:

for (int groupIndex = 0; groupIndex < 3; ++groupIndex) {
   this.listView1.Groups.Add("GroupKey" + groupIndex, "Test" + groupIndex);

   for (int index = 0; index < 5; ++index) {
      ListViewItem item = new ListViewItem("Test " + groupIndex + "/" + index,
                                           this.listView1.Groups[groupIndex]);
      this.listView1.Items.Insert(0, item);
      this.listView1.Groups[groupIndex].Items.Insert(0, item);
    }
 }

 for (int groupIndex = 2; groupIndex >= 0; --groupIndex) {
    for (int index = 0; index < 5; ++index) {
      ListViewItem item = new ListViewItem("Test2 " + groupIndex + "/" + index,
                                           this.listView1.Groups[groupIndex]);
      this.listView1.Items.Insert(0, item);
      this.listView1.Groups[groupIndex].Items.Insert(0, item);
   }
 }
Run Code Online (Sandbox Code Playgroud)

这是结果: 在此输入图像描述