Вопросы и Ответы
41. Как изменить цвет ячейки TDBGrid в зависимости от текущего значения?
Для изменения цвета некоторых ячеек таблицы TDBGrid необходимо определить реакцию на событие DBGrid1DrawDataCell и проверив необходимые условия, перерисовать ячейку вручную (если в этом есть необходимость).
Все необходимые данные для отрисовки передаются в параметрах процедуры.
Отрисовка белых букв на красном фоне если, перерисовывается поле 'First_I', ячейка не в фокусе и значение поля меньше нуля.
............
procedure
TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State:
TGridDrawState); WITH
DBGrid1.Canvas DO IF
(Field.FieldName = 'First_I') AND (NOT (gdFocused in State)) AND
(Field.AsInteger < 0) THEN BEGIN Brush.Color
:= clRed; END; end; ............
begin
Font.Color := clWhite;
DBGrid1.DefaultDrawDataCell(Rect, Field, State);
...предыдущая страница следующая...
оглавление