Форум: "Базы";
Текущий архив: 2004.03.14;
Скачать: [xml.tar.bz2];
ВнизКак при поиске в 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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.017 c