Получение текста только из определенного столбца DataGridView - PullRequest
3 голосов
/ 03 мая 2009

У меня есть 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());
    }
}

Ответы [ 3 ]

5 голосов
/ 03 мая 2009

Разве вы не хотите просто удалить внутреннюю петлю 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());
}
3 голосов
/ 03 мая 2009
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 голосов
/ 03 мая 2009

Возможно, вы могли бы проверить ColumnIndex? Тем не менее все равно будет проходить через все ячейки.

if (cell.Value == null || cell.Value.Equals("") || cell.ColumnIndex != 2)
{
    continue;
}
...