2015-12-07 2 views
0

я добавлять элементы из массива в ListView, как показано ниже:Переместить существующий элемент в верхней части ListView

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

Если keyArray[i] содержит элемент, называемый CustomerName, как я могу переместить его и его значение в наверху списка?

Edit:

Пусть говорят:

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

Вы попробовали товары. Метод ввода? –

ответ

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); 
} 
+1

хороший один босс !! :) –

+0

Привет @ не повезло, спасибо за ваше решение, но как я знаю индекс моего элемента, так как он получает из массива, элемент будет или не будет в массиве ..? – YWah

+0

См. Обновления в ответе: –

Смежные вопросы