2013-01-10 14 views
6

Moja aplikacja zawiera ListView z plikami, którymi operuję i ma 3 kolumny: nazwę pliku, długość i status. Wewnątrz pętli używam pliku po pliku i chcę w tym przypadku zmienić kolumnę statusu z czekać, która jest wartością na początku w procesie. czy można zmienić jedną kolumnę?Zmień kolumnę w ListView

lvFiles jest mój ListView

for (int i = 0; i < lvFiles.Items.Count; i++) 
{ 
    //here i am do things with my file 
} 

jestem tutaj dodawania plików do mojego ListView:

ListViewItem item = new ListViewItem(new string[] { new FileInfo(filePath).Name, duration, "Waiting" }); 

Odpowiedz

4

Korzystanie SubItems własności ListViewItem:

foreach(ListViewItem item in lvFiles.Items) 
    item.SubItems[2].Text = "Waiting"; 
+1

+1 Znacznie lepiej Odpowiedź lazyberezovsky Zapomniałem o SubItems ... Grrrr..LOL – MethodMan

+1

@DJKRAZE dziękuję! Praca z listView to jak rozwiązywanie puzzli :) –

+1

Wiem, ale to pierwsza rzecz, o której pomyślałem, ponieważ chciał mieć pętlę for, nie sprecyzował początkowo, jaką kolumnę chciał mieć :) – MethodMan

2

Można spróbować coś takiego, jeśli znasz określonej kolumny na przykład Adres byłoby colString [2] możesz zrobić pojedynczą linię:

string[] colString = new string{ "Starting", "Paused", "Waiting" }; 
int colIndex = 0; 
foreach (ColumnHeader lstViewCol in lvFiles.Columns) 
{ 
    lstViewCol.Text = colString[colIndex]; 
    colIndex++; 
} 

dla si Kolumna ngle pan stwierdził, chciał 3rd kolumny następnie można coś takiego

lvFiles.Colunns[2] = "waiting"; 
+0

Skąd mogę wiedzieć, że to się zmieni poprawną kolumnę? – user1269592

+0

Jakie inne warunki chcesz zmienić Kolumna na podstawie czegoś ...? Jeśli tak, to może być dodane w pętli foreach za pomocą instrukcji if() {}. Musisz podać więcej informacji do oryginalnego pytania, w przeciwnym razie inne odpowiedzą w taki sam sposób jak ja. Na przykład, jaki nagłówek kolumny chcesz zmienić..? 1, 2 lub wszystkie 3 ...? – MethodMan

+0

wewnątrz pętli for chcę tylko zmienić kolumnę statusu dla bieżącego pliku [i] – user1269592