2015-02-26 4 views
0

dgvStatus - это DataGridView с одним столбцом.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); 

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

enter image description here

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

UPDATE:

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

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

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

enter image description here

+0

http://stackoverflow.com/questions/24812679/what-is-an-index-out-of -range-exception-and-how-do-i-fix-it –

ответ

0

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

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

UPDATE

, если он не работает, попробуйте следующее:

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; 
+0

Вопрос обновлен – Salim

+0

@Salim, обновил мой ответ – ASh

+0

О, отлично, его работа, спасибо. – Salim