DataGridView Ячейка Backcolor не установлена
-
08-10-2019 - |
Вопрос
У меня есть DataGridView с четырьмя колоннами. Первые три возвращаются обратно как массив: красный, зеленый и синий. Все значения от 0 до 255. Я программно добавил столбцу под названием «Цвет». Я хотел бы, чтобы Backcolor из этого столбца отражать контент RGB. Я могу правильно увидеть данные RGB, и используя отладчик, BackColor устанавливается правильно против свойства. Я также могу установить Backcolor столбец, и он отображается правильно. Я пытался установить «красную» клетку клетки, и это тоже не работает.
Ниже приведены код в полностью белой колонне.
Вот мой код:
DataGridViewColumn DGC = new DataGridViewColumn();
DGC.Name = "Colour";
DGC.CellTemplate = new DataGridViewTextBoxCell();
dgPallette.Columns.Add(DGC);
foreach (DataGridViewRow DGR in dgPallette.Rows)
{
Color cellColor = Color.FromArgb(
int.Parse(DGR.Cells["Red"].Value.ToString()),
int.Parse(DGR.Cells["Green"].Value.ToString()),
int.Parse(DGR.Cells["Blue"].Value.ToString()));
DGR.Cells["Colour"].Style.BackColor = cellColor;
}
Есть идеи?
Спасибо заранее Джим
Решение
Иногда я обнаруживаю, что настройки цвета в DataGridView не работают, как ожидалось, и в конечном итоге прибегают к использованию Datagridview.cellformatting. Мероприятие - это всегда делает трюк, и довольно прост, чтобы получить голову.
Зачастую проблемы с форматированием возникают, когда сетка связана с источником данных - особенно при разрешении сортировки. Это событие преодолевает это.