2009-05-03 4 views
3

Ich habe eine DataGridView, die mit 4 Spalten und mehreren Datenzeilen gefüllt ist. Ich möchte die DataGridView durchlaufen und den Zellenwert von eine spezifische Spalte nur bekommen, da ich diese Daten in eine Methode übergeben muss.Abrufen von Text nur aus einer bestimmten Spalte von DataGridView

Hier ist mein Code:

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()); 
    } 
} 

Dies scheint nur durch alle Zellen zu gehen, jedoch muss ich der Lage sein, so etwas wie zu spezifizieren:

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()); 
    } 
} 

Antwort

5

Sie nicht nur Wollen um die innere foreach Schleife zu entfernen? Oder habe ich etwas verpasst?

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

Thankyou, gewesen zu lange Codierung, wie es scheint ...... :-D – Goober

+0

Es ist mitten in der Früh in meiner Zeitzone, so dass Sie revanchieren müssen möglicherweise in 12 Stunden Zeit;) –

+0

haha, ich bin in England, wo ich vermutet, du bist auch ..... – Goober

2

Vielleicht könnten Sie den ColumnIndex überprüfen? Würde aber trotzdem alle Zellen durchlaufen.

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()); 
     } 
    } 
} 
+0

Danke ... Ich war auf der Suche nach diesem Stück Code, obwohl nicht im selben Kontext ... –