private void DGPaint() { int i = 0; int j = 0; for (i = 0; i < dataGridView1.ColumnCount; i++) { for (j = 0; j < dataGridView1.RowCount; j++) { if (dataGridView1.Rows[j].Cells[i].Value.ToString() == "Bad") { //Меняем цвет ячейки dataGridView1.Rows[j].Cells[i].Style.BackColor = Color.Red; dataGridView1.Rows[j].Cells[i].Style.ForeColor = Color.Black; //Меняем шрифт ячейки dataGridView1.Rows[j].Cells[i].Style.Font = new Font(this.Font, FontStyle.Bold); } } } }
UPD: Ещё вариант предложенный Владимир Палычем (http://turbowarp.blogspot.com/)
private void DGPaint() { foreach (DataGridViewRow row in dataGridView1.Rows) { if (row.Cells[1].Value.ToString()=="Bad") foreach (DataGridViewCell cell in row.Cells) { //Меняем цвет ячейки cell.Style.BackColor = Color.Red; cell.Style.ForeColor = Color.Black; //Меняем шрифт ячейки cell.Style.Font = new Font(this.Font, FontStyle.Bold); } } }
Как то не по сишарповски )) чем foreach не подошел?
ОтветитьУдалитьТак будет гораздо быстрее работать:
ОтветитьУдалитьprivate void DGPaint()
{
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (row.Cells[1].Value.ToString()!="Success")
foreach (DataGridViewCell cell in row.Cells)
{
//Меняем цвет ячейки
cell.Style.BackColor = Color.Red;
cell.Style.ForeColor = Color.Black;
//Меняем шрифт ячейки
cell.Style.Font = new Font(this.Font, FontStyle.Bold);
}
}
}
Код изначально был для того, чтобы можно было отдельную ячейку выделить. Ну и поиск также.
ОтветитьУдалить