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

时间:2015-12-07 03:49:38

标签: c# wpf listview

我将数组中的项添加到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

有什么建议吗?

1 个答案:

答案 0 :(得分: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); 
 }