我有一个DataGridView,其中填充了4列和多行数据。我想迭代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());
}
}
答案 0 :(得分: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());
}
答案 1 :(得分: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());
}
}
}
答案 2 :(得分:2)
也许您可以查看ColumnIndex?仍会循环遍历所有细胞。
if (cell.Value == null || cell.Value.Equals("") || cell.ColumnIndex != 2)
{
continue;
}