Изменить цвет строк в DataGridView

97
16 февраля 2021, 02:10

Пытаюсь изменить цвет строки там где значение penalty = 1.

MySqlConnection sqlConnection2 = new MySqlConnection(connectionString);
MySqlCommand cmd2 = new MySqlCommand();
MySqlDataReader reader2;
cmd2.CommandText = "SELECT librarycardnumber, fullname, adress, phone, penalty FROM Readers";
cmd2.Connection = sqlConnection2;
sqlConnection2.Open();
reader2 = cmd2.ExecuteReader();
if (reader2.Read())
{
    int penalty = reader2.GetInt32(4);
        if (penalty == 1)
                   dataGridView1.Rows[0].DefaultCellStyle.BackColor = Color.Red;
                else
        dataGridView1.Rows[0].DefaultCellStyle.BackColor = Color.White;
}
sqlConnection2.Close();

Сейчас она меняет цвет только первой строке, как сделать, чтобы она меняла цвет только там где значение penalty = 1?

Answer 1

Тут идет обращение к Row[Idex] = 0

dataGridView1***.Rows[0]***.DefaultCellStyle.BackColor = Color.Red;

сделать цикл и подставлять Row[Idex] == № строки

//код для примера

   for (int i = 0; dataGridView1.Rows.Count-1; i++)
        {
         dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.Red;
         }
READ ALSO
Перевести sql запрос в LINQ

Перевести sql запрос в LINQ

Есть часть запроса SQL

94
Раскраска datagridview

Раскраска datagridview

Есть два связанных datagridview

105
Переменные в Go при вызове db.Exec

Переменные в Go при вызове db.Exec

Когда я использую конструкции вида:

120
Как удалить все триггеры из таблицы?

Как удалить все триггеры из таблицы?

Нужно сделать процедуру, которая будет удалять триггерыВариант 1

112