Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.14;
Скачать: CL | DM;

Вниз

Как при поиске в DBGRID выделять цветом найденные значения   Найти похожие ветки 

 
Masha Streltsova   (2004-02-17 16:29) [0]

Как при поиске слова в DBGRID выделять все найденные слова цветом. Если есть примерчик скиньте файл плиз ;) derliga@mail.ru


 
Соловьев ©   (2004-02-17 16:32) [1]


procedure TFForm.DBGridTableDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
const dat="30.12.2999";
var
holdColor: TColor;
begin
IF TDBGrid(Sender).DataSource.DataSet.RecNo = RecNum
Then TDBGrid(Sender).Canvas.Brush.Color:=RGB($00,$cc,$ff);

IF gdSelected IN State
Then Begin
TDBGrid(Sender).Canvas.Brush.Color:= clHighLight;
TDBGrid(Sender).Canvas.Font.Color := clHighLightText;
End;
TDBGrid(Sender).DefaultDrawColumnCell(Rect,DataCol,Column,State);

holdColor := DBGridTable.Canvas.Brush.Color; {сохраняем оригинальный цвет}
//calcD
if Column.FieldName ="calcD" then {"раскрашиваем" ячейки только для поля
calcD}
if Column.Field.asString = "бессрочно" then
begin
DBGridTable.Canvas.Brush.Color := $00000ff00;//Green
DBGridTable.DefaultDrawColumnCell(Rect, DataCol, Column, State);
DBGridTable.Canvas.Brush.Color := holdColor;
end
else
if Column.Field.AsString <> "" then
if (StrToDate(Column.Field.AsString) < Date) then //срок истек
begin
DBGridTable.Canvas.Brush.Color := clRed;
DBGridTable.DefaultDrawColumnCell(Rect, DataCol, Column, State);
DBGridTable.Canvas.Brush.Color := holdColor;
end
end;


Вот когда-то писал


 
Guest   (2004-02-17 16:36) [2]

[1] Соловьев © (17.02.04 16:32)

+ лучше перекинуть первый DefaultDraw в конец процедуры (в новую ветвь else). Чтобы не рисовать 2 раза для указанных полей.


 
Masha Streltsova   (2004-02-17 16:46) [3]

спасибо большое, сейчас попробуем!



Страницы: 1 вся ветка

Текущий архив: 2004.03.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
14-43850
Кен
2004-02-20 05:16
2004.03.14
А не проголосовать ли за Малышкина ? По приколу. Он смешной.


1-43452
Marina_S
2004-02-28 15:20
2004.03.14
как определить в каком модуле и в каком месте циклит программа


14-43803
DiamondShark
2004-02-23 14:54
2004.03.14
Инопланетяне как причина глобального потепления


14-43760
Delphin
2004-02-19 15:11
2004.03.14
Hi all!! Кто - нить знает принципы работы Нюков ? (Nuke)


14-43884
Prooksius
2004-02-20 16:43
2004.03.14
Win XP (SP1) - Не работает Disk Defragmenter