2009-05-03 22 views
3

我有一個填充了4列和多行數據的DataGridView。我想循環訪問DataGridView,並從獲得單元格值,只有,因爲我需要將這些數據傳遞給方法。只從DataGridView的特定列中獲取文本

這裏是我的代碼:

foreach (DataGridViewRow row in this.dataGridView2.Rows) 
{        
    foreach (DataGridViewCell cell in row.Cells) 
    { 
     if (cell.Value == null || cell.Value.Equals("")) 
     { 
      continue; 
     } 

     GetQuestions(cell.Value.ToString()); 
    } 
} 

這似乎只是要經過的所有單元格,但我需要能夠指定類似:

foreach (DataGridViewRow row in this.dataGridView2.Rows) 
{        
    foreach (DataGridViewCell cell in row.Cells[2])//Note specified column index 
    { 
     if (cell.Value == null || cell.Value.Equals("")) 
     { 
      continue; 
     } 
     GetQuestions(cell.Value.ToString()); 
    } 
} 

回答

5

不要你只是想去除內部foreach循環?或者我錯過了什麼?

foreach (DataGridViewRow row in this.dataGridView2.Rows) 
{        
    DataGridViewCell cell = row.Cells[2]; //Note specified column index 
    if (cell.Value == null || cell.Value.Equals("")) 
    { 
     continue; 
    } 

    GetQuestions(cell.Value.ToString()); 
} 
+0

三江源,已高達編碼太久,似乎...... :-D – Goober 2009-05-03 09:23:24

+0

這是在我的時區上午的中間,所以你可能需要返回的青睞12小時的時間;) – 2009-05-03 09:25:29

2

也許你可以檢查ColumnIndex?儘管如此,仍然會遍歷所有的細胞。

if (cell.Value == null || cell.Value.Equals("") || cell.ColumnIndex != 2) 
{ 
    continue; 
} 
3
foreach (DataGridViewRow row in this.dataGridView2.Rows) 
{ 
    DataGridViewCell cell = row.Cells["foo"];//Note specified column NAME 
    { 
     if (cell != null && (cell.Value != null || !cell.Value.Equals(""))) 
     { 
     GetQuestions(cell.Value.ToString()); 
     } 
    } 
}