3

4 列と複数行のデータが取り込まれた 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());
    }
}
4

3 に答える 3

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());
}
于 2009-05-03T09:03:31.053 に答える
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());
      }
   }
}
于 2009-05-03T09:09:30.617 に答える
2

おそらく、ColumnIndex を確認できますか? ただし、すべてのセルをループします。

if (cell.Value == null || cell.Value.Equals("") || cell.ColumnIndex != 2)
{
    continue;
}
于 2009-05-03T09:09:13.287 に答える