2013-01-10 10 views
6

La mia applicazione contiene ListView con i file che sto gestendo e ho 3 colonne: nome del file, lunghezza e stato. All'interno del mio ciclo for sto gestendo il file dopo il file e voglio in questo caso cambiare la colonna di stato da attendere che è il valore all'inizio di nel processo. è possibile cambiare una colonna?Cambia colonna in ListView

lvFiles è il mio ListView

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

Ecco, aggiungo i file nel mio ListView:

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

risposta

4

Uso SubItems proprietà di ListViewItem:

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

+1 Molto meglio Risposta lazyberezovsky Ho dimenticato di SubItems ... Grrrr..LOL – MethodMan

+1

@DJKRAZE grazie! lavorare con listView è come risolvere un puzzle :) –

+1

Lo so, ma questa è la prima cosa che ho pensato a causa di come voleva il ciclo for, non ha specificato inizialmente quale colonna voleva :) – MethodMan

2

si può provare qualcosa di simile se si conosce la colonna specifica, ad esempio Indirizzo sarebbe colString [2] si può fare una singola linea

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

per sI colonna ngle lei ha affermato che voleva il 3 ° colonna, allora si potrebbe qualcosa di simile

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

Come posso sapere che cambierà la colonna corretta? – user1269592

+0

Quali altre condizioni stai cercando di cambiare la colonna in base a qualcosa ..? se è possibile aggiungerlo nel ciclo foreach usando un'istruzione if() {}, è necessario fornire più informazioni alla domanda originale altrimenti gli altri risponderanno nello stesso modo in cui l'ho fatto ... per esempio quale intestazione di colonna si desidera cambiare..? 1, 2 o tutti e 3 ...? – MethodMan

+0

all'interno del ciclo for voglio solo cambiare la colonna di stato per il file corrente [i] – user1269592

Problemi correlati