2014-11-09 3 views
-2

Дополнительная информация:CellFormatting в C#

Индекс был вне диапазона. Должен быть неотрицательным и меньше размера коллекции.

Почему индексы клеток не читаются?

private void dgv_Overzicht_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) 
{ 

    foreach (DataGridViewRow row in this.dgv_Overzicht.Rows) 
    { 
     foreach (DataGridViewCell cell in row.Cells) 
     { 
      if (row.Cells[10].Value.ToString() == "1") 
      { 
       row.Cells[5].Style.BackColor = Color.Green; 
      } 
     } 
    } 
} 
+1

Любая конкретная линия, связанная с ошибкой? Что вы изучили в отладчике? – HABO

+0

Сколько столбцов у вас есть в gridview? – Rahul

+1

Зачем вам нужно установить задний цвет ячейки 5 на зеленый X раз? (где X - количество ячеек в строке). Похоже, здесь у вас есть логическая проблема - по крайней мере, вам не нужен второй foreach, поскольку вы никогда не ссылаетесь на переменную ячейки, объявленную в ней. Скажите нам, что именно вы пытаетесь сделать и сколько ячеек находится в строке. –

ответ

0

Я лучше сделать фон окраски на основе каждого ряда, поэтому в основном после того, как строка проверяется. (dgv_Overzicht_RowValidated) таким образом, вы можете достичь e.ColumnIndex в методе eventhandling

Смежные вопросы