Изменение цвета фона ячеек по общим условиям
Пусть в проекте имеется Таблица, ячейки которой связаны с переменными. Требуется изменять цвет фона ячеек на красный, если значение связанных с ними переменных стало больше 50. Если значение меньше 50, то не нужно заполнять фон ячеек. Для решения этой задачи необходимо создать скрипт с типом "Событие для ячеек таблиц" и назначить его на событие OnCellDatachange таблицы. Пример скрипта:
begin
if Cell.Variable.AsInt > 50 then // если переменная ячейки имеет значение больше 50
Cell.Color := clRed // меняем цвет фона ячейки на красный
else // в ином случае
Cell.Color := clNone; // убираем заполнение фона ячейки
end.
Изменение цвета фона определенной ячейки
Допустим, необходимо изменять цвет фона только одной определенной ячейки по какому-либо условию. Для указания ячейки можно использовать функцию GetCell или свойства таблицы Columns и Cells:
begin
if MyVar.AsInt = 0 then
Table1.GetCell(1, 0).Color := clRed
else
Table1.Columns[1].Cells[0].Color := clGreen;
end.
Изменение цвета текста определенной ячейки
Для изменения цвета текста ячейки можно использовать свойство FontColor:
begin
Table1.GetCell(1, 1).FontColor := clGreen;
Table1.Columns[1].Cells[0].FontColor := clYellow;
end.
Изменение цвета фона строки/столбца таблицы
Для изменения цвета фона строки/столбца таблицы необходимо пройти по ячейкам нужной строки/столбца изменяя их цвет:
var
I: integer;
begin
// изменить цвет третьей строки(отсчет с нуля)
for I := 0 to Table1.ColumnsCount - 1 do
Table1.GetCell(I, 2).Color := clGreen;
// изменить цвет второго столбца(отсчет с нуля)
for I := 0 to Table1.RowCount - 1 do
Table1.GetCell(1, I).Color := clRed;
end.