Ottenere testo solo da una colonna specifica di DataGridView
-
03-07-2019 - |
Domanda
Ho un DataGridView popolato con 4 colonne e più file di dati. Voglio scorrere attraverso DataGridView e ottenere il valore della cella da solo una colonna specifica , poiché ho bisogno di questi dati per passare a un metodo.
Ecco il mio codice:
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());
}
}
Questo sembra passare attraverso tutte le celle, tuttavia devo essere in grado di specificare qualcosa del tipo:
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());
}
}
Soluzione
Non vuoi semplicemente rimuovere il ciclo interno foreach
? O mi sono perso qualcosa?
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());
}
Altri suggerimenti
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());
}
}
}
Forse potresti controllare ColumnIndex? Avrebbe comunque attraversato tutte le celle.
if (cell.Value == null || cell.Value.Equals("") || cell.ColumnIndex != 2)
{
continue;
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow