Obtenir du texte uniquement à partir d'une colonne spécifique de DataGridView
-
03-07-2019 - |
Question
J'ai un DataGridView contenant 4 colonnes et plusieurs lignes de données. Je souhaite parcourir le DataGridView et obtenir la valeur de cellule à partir de une colonne spécifique uniquement , car j'ai besoin de cette donnée pour la transmettre à une méthode.
Voici mon 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());
}
}
Cela semble traverser toutes les cellules, mais je dois pouvoir spécifier quelque chose comme:
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());
}
}
La solution
Ne voulez-vous pas simplement supprimer la boucle foreach
interne? Ou ai-je oublié quelque chose?
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());
}
Autres conseils
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());
}
}
}
Peut-être pourriez-vous vérifier le ColumnIndex? Souhaitez toujours parcourir toutes les cellules.
if (cell.Value == null || cell.Value.Equals("") || cell.ColumnIndex != 2)
{
continue;
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow