将现有项目移动到列表视图的顶部

本文关键字:列表 视图 顶部 移动 项目 | 更新日期: 2023-09-27 18:25:51

我将数组中的项添加到ListView中,如下所示:

for (int i = 0; i < dataKeyList.Count; i++)
{
  CallTabLv.Items.Add(new { Label = " " + keyArray[i], Value = valueArray[i] });
}

如果keyArray[i]包含一个名为CustomerName的项,我如何将它及其值移动到列表的顶部?

编辑:

比方说:

string[] arr1 = new string[] { "one", "two", "three" };
string[] arr2 = new string[] { "1", "2", "3" };
for (int i = 0; i < arr1.Length; i++)
{
  listView.Items.Add(new { C1 = arr1[i], C2 = arr2[i] });
}

输出:

Col    Col2
-----------
one     1
two     2
three   3

我想把"三个3"移到列表的顶部,所以它会像:

Col    Col2
-----------
three   3
two     2
one     1

有什么建议吗?

将现有项目移动到列表视图的顶部

您可以使用[Items.Insert][1]在特定位置插入项目,而不是添加项目。它可以用于更改n索引中现有项目的位置。

ListViewItem item= new ListViewItem("Test");//Define item here;
if(!CallTabLv.Items.Contains(theItem))
 {
    CallTabLv.Items.Insert(0,item);
 }
else
 {
   n = CallTabLv.Items.IndexOf(item);
   CallTabLv.Items.RemoveAt(n);
   CallTabLv.Items.Insert(0, item); 
 }