2013-01-10 6 views
6

내 응용 프로그램에는 처리중인 파일이 있고 파일 이름, 길이 및 상태라는 세 개의 열이있는 ListView 파일이 들어 있습니다. 내 for 루프 내에서 파일을 처리하는 중입니다.이 경우 상태 열을 에서으로 변경하려면 시작 부분에있는 값이 이고 절차가입니다. 하나의 열을 변경할 수 있습니까?ListView의 열 변경

lvFiles 내 ListView에 있습니다 여기에 난 내 ListView에로 파일을 추가하고

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

: 당신이 colString 것 예를 들어 주소에 대한 특정 열을 알고있는 경우

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

답변

4

사용 SubItems 재산과 같은 :

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

+1 많이 도움이되었습니다. 답변 lazyberezovsky SubItems ...을 잊어 버렸습니다 ... Grrrr..LOL – MethodMan

+1

@DJKRAZE thanks! listView를 사용하여 작업하는 것은 퍼즐을 푸는 것과 같습니다 :) –

+1

그게 내가 for 루프를 원했던 방법 때문에 생각한 첫 번째 것입니다. 그는 처음에 그가 원하는 열을 지정하지 않았습니다. – MethodMan

2

당신이 뭔가를 시도 할 수 있습니다 [2] 한 줄로 처리 할 수 ​​있습니다.

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

ngle 열 당신은 당신이 다음 3 열을 원하는 진술 그럴 수 ListViewItem

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

어떻게 내가 올바른 열을 변경할 것을 알 수 있는가? – user1269592

+0

뭔가를 기반으로 칼럼을 변경하고자하는 다른 조건은 무엇입니까? 그렇다면 if() {} 문을 사용하여 foreach 루프에 추가 될 수 있습니다. 원래 질문에 더 많은 정보를 제공해야합니다. 그렇지 않으면 다른 사람들이 내가 한 것과 같은 방식으로 응답합니다. 예를 들어 어떤 열 헤더를 원하십니까? 바꾸다..? 1, 2 또는 모두 3 ...? – MethodMan

+0

for 루프 내 현재 파일 [i]에 대한 상태 열을 변경하려는 경우 – user1269592

관련 문제