У меня есть приложение InfraGistics UltraGridView в моем приложении winform, и я хочу, чтобы разные цвета были назначены разным строкам на основе заданного значения c ячейки. Например, если ячейка [Status] равна 2, строка должна быть синего цвета, et c.
Я могу сделать это в строке инициализации, но этого недостаточно . Поскольку статус может быть изменен в коде, и цвет должен измениться соответственно. Какой самый эффективный способ добиться этого? Пример кода приветствуется.
Сетка привязана к bindingSource
, а bindingSource.dataSource
- это BindingList
объекта.
private void dgvProduction_InitializeRow(object sender, InitializeRowEventArgs e)
{
switch (e.Row.Cells["StatusId"].Value.ToString())
{
case "0":
e.Row.Appearance.BackColor = Color.Gray;
break;
case "1":
e.Row.Appearance.BackColor = Color.White;
break;
case "2":
e.Row.Appearance.BackColor = Color.LightSkyBlue;
break;
}
}