Datagridview добавляет строку со стилем ячейки программно

dgvStatus — это DataGridView с одним столбцом.

Следующая строка добавляет новую строку

dgvStatus.Rows.Add("XYZ");

Но я хочу изменить цвет текста ячейки, поэтому я написал следующий код

DataGridViewRow row = new DataGridViewRow();
DataGridViewCellStyle style = new DataGridViewCellStyle();
style.ForeColor = Color.Red; // the color change
row.DefaultCellStyle = style;
row.Cells[0].Value = "XYZ";
dgvStatus.Rows.Add(row);

Но этот код дает ошибку -

введите здесь описание изображения

Как это исправить.

ОБНОВЛЕНИЕ:

Когда я изменил свой код в соответствии с ответом @ASh

dgvStatus.Rows.Add(row);
row.Cells[0].Value = "XYZ";

Затем он дает следующую ошибку -

введите здесь описание изображения


person MaxEcho    schedule 26.02.2015    source источник
comment
stackoverflow.com/questions/24812679/   -  person Soner Gönül    schedule 26.02.2015


Ответы (1)


в строке нет ячеек, пока вы не добавите ее в сетку

dgvStatus.Rows.Add(row);
row.Cells[0].Value = "XYZ";

ОБНОВИТЬ

если это не работает, попробуйте это:

int idx = dgvStatus.Rows.Add("test");
var row = dgvStatus.Rows[idx];
DataGridViewCellStyle style = new DataGridViewCellStyle();
style.ForeColor = Color.Red; // the color change
row.DefaultCellStyle = style;
person ASh    schedule 26.02.2015