Пожалуйста, включите JavaScript для просмотра этого сайта.

Скрипты Simple-Scada

История: Примеры скриптов > Работа с цветом

Изменение цвета ячейки таблицы

Пред. Вверх След. Еще

Изменение цвета фона ячеек по общим условиям

Пусть в проекте имеется Таблица, ячейки которой связаны с переменными. Требуется изменять цвет фона ячеек на красный, если значение связанных с ними переменных стало больше 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(10).Color := clRed
  else
    Table1.Columns[1].Cells[0].Color := clGreen;
end. 

 

Изменение цвета текста определенной ячейки

Для изменения цвета текста ячейки можно использовать свойство FontColor:

begin
  Table1.GetCell(11).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.