внимание на обьявление класса THackDBGrid. Таким образом можно получить доступ к приватным полям, свойствам и методам класса, что, к сожалению, приходится делать, если авторы исходного класса оказались не предусмотрительны.
Dbgrid с цветными ячейками V
Delphi 1
Попробуйте следующий код в обработчике события TDBGrid OnDrawDataCell:
If gdFocused in State then with (Sender as TDBGrid).Canvas do begin
Brush.Color := clRed;
FillRect(Rect);
TextOut(Rect.Left, Rect.Top, Field.AsString);
end;
end;
Установите рисование по умолчинию (Default drawing) в True. Только после этого можно нарисовать выделенную ячейку. Если вы установили DefaultDrawing в False, вы должны сами рисовать все ячейки, используя свойство Canvas.
Что я получаю от наличия ConstraintBroker (брокера ограничений)?
Nomadic отвечает:
ConstraintBroker позволяет Вам включать проверки на ограничения в данные.
Это означает, что когда Вы запрашиваете данные, Вы получаете вместе с ними и правила, которым они дорлжны удовлетворять. Эти правила автоматически без дополнительного кода входят в силу.
Поскольку это происходит без единой строчки кода, то Вам не требуется переписывать или обновлять приложение каждый раз при изменении правил.
Фактически это простое решение задачи обновления клиентского приложения без выхода из него.
Каждое приложение, использующее ConstraintBroker, автоматически получает это качество…
Улучшенный Dbgrid
Delphi 1
{
Код улучшенного TDBGrid, имеющего свойства Col, Row и Canvas и метод CellRect. Это чрезвычайно полезно в случае, если вы, к примеру, хотите получить выпадающий список на месте редактируемой пользователем ячейки.