![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
выделение записей в DBGrid [D7]
Progr@mist © (2003-04-16 19:36:00)Плз, люди : есть грид, в котором мне надо повыделять часть строчек (цветом или жирно безразницы), но немогу енто сделать...
Помогите, заранее вери сенкс...
MsGuns (2003-04-16 21:31:00) [1]Однозначно через событие грида OnDrawColumnCell
Определять к какой категории - цвету относится запись можно 2-мя способами:
- через доп.поле-признак
- через массив указателей записей (ID записей или букмарки)
Пример раскрашивания грида:
procedure TForm1.grSuperDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
{
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Выражаю огромную благодарность Леночке Филипповой за ее превосходную !
! статью в "Королевстве Дельфи" "ПОЛОСТАЫЙ ГРИД" от 12 апреля 2000 г. !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
}
var
BkgColor: TColor;
begin
if not (gdSelected in State) then
BkgColor := clMoneyGreen // Для не текущей строки
else
if TDBGrid(Sender).Focused then
BkgColor := clDefault // Черный для текущей строки
else
BkgColor := clMedGray; // Серый для текущей строки
TDBGrid(Sender).Canvas.Brush.Color:=BkgColor;
TDBGrid(Sender).DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;