2011-05-14 107 views
0

循環播放時可以獲取當前索引嗎?循環播放時獲取索引

for (int i = 0; i < DGV.Rows.Count - 2; i++) 
{ 
    myValue = DGV.CurrentRow.Index + " " + DGV.Rows[i].Cells[1].Value.ToString(); 
} 

但我在輸出:

0 First 
0 Second 
0 ... 

我想:

1 First 
2 Second 
3 ... 

感謝。

+1

你知道,你跳過最後一行? – 2011-05-14 18:23:53

+2

要添加到以下答案 - DGV.CurrentRow表示包含當前單元格的行,如果沒有當前單元格,則爲null。它將保持爲0,並且不會因爲您遍歷所有行而改變。 – YetAnotherUser 2011-05-14 18:54:28

+0

無論如何,循環DGV是一個糟糕的主意。將其綁定到適當的數據結構。 – 2011-05-14 20:13:31

回答

9
for (int i = 0; i < DGV.Rows.Count - 2; i++) 
{ 
    myValue = (i + 1).ToString() + " " + DGV.Rows[i].Cells[1].Value.ToString(); 
} 

BTW:我寧願:

for (int i = 0; i < DGV.Rows.Count - 2; i++) 
{ 
    myValue = String.Format("{0} {1}", i + 1, DGV.Rows[i].Cells[1].Value); 
} 
5

在這種情況下,這只是i+1

5

嘗試:

myValue = (i+1) + " " + DGV.Rows[i].Cells[1].Value.ToString(); 
0

你能做到這樣也

for (int i = 1; i < DGV.Rows.Count - 1; i++) 
{ 
    myValue = i.ToString() + " " + DGV.Rows[i-1].Cells[1].Value.ToString(); 
}