у меня возникла проблема при попытке получить некоторые значения через DataGridViewRow. проблема в том, что индекс моей ячейки равен 7, и когда я пытаюсь получить данные из ячейки, используя этот код:
foreach (DataGridViewRow r in this.mydatagrid.Rows)
{
if (Convert.ToBoolean(r.Cells[0].Value) == true)
{
DataGridViewComboBoxCell cc = (DataGridViewComboBoxCell)r.Cells[7];
cc.Value = toolStripComboBox1.SelectedItem.ToString();
edit_subject(Convert.ToInt32(r.Cells[1].Value), r.Cells[7].Value.ToString());
}
появляется ошибка исключения, говорящая, что Cells[7] is OutOfIndex . поэтому я пытался изменить индекс ячейки с 7 на 5, и иногда это работало, а иногда нет.
Пожалуйста, мне нужно объяснить, потому что это действительно странно.
edit_subject
и посмотрите, чему равноr.Cells[1].Value
. Это поможет вам понять порядок ячеек. Как сказал @phpmeh, у вас, вероятно, нет ячейки с индексом 7, если в вашей строке всего 7 значений, тогда самый высокий индекс ячейки будет равен 6. - person dub stylee   schedule 14.04.2015