Форум: "Базы";
Текущий архив: 2002.10.17;
Скачать: [xml.tar.bz2];
ВнизЦвет строки в ДБ Грид Найти похожие ветки
← →
SLS (2002-09-21 18:37) [0]Помогите ПЛЗ!
Конкретный код, как поменять Background Color в строке или первой ячейке DBGrid по DblClick, и чтобы он сохранился до выхода из окна. Я задолбался с этими TRect & TGridDrawState.
Спасибо!
← →
MBo (2002-09-22 06:17) [1]статья "Разноцветный DBGrid" на delphi.vitpc.com
← →
ttttttt (2002-09-23 08:38) [2]procedure TListAnketForm.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
Var DrawDef:Boolean;
begin
DrawDef:=True;
With DBGrid1.Canvas do
Begin
If (Query1SomeClose.AsString="Y") and ( not (gdFocused in State)) Then
Begin
Brush.Color:=clBtnFace;
Font.Color:=clBlack;
DrawDef:=False;
End;
If (Query1FotoPresent.AsString="N") and ( not (gdFocused in State)) Then
Begin
Font.Color:=clRed;
DrawDef:=False;
End;
If ((Query1NewPay.AsDateTime-Date)<14) and ( not (gdFocused in State)) Then
Begin
Font.Style:=[fsBold];
DrawDef:=False;
End;
If ((Query1NewPay.AsDateTime-Date)<=1) and ( not (gdFocused in State)) Then
Begin
Font.Style:=[fsBold];
Font.Color:=clBlack;
Brush.Color:=clRed;
DrawDef:=False;
End;
If Not DrawDef Then
Begin
FillRect(Rect);
TextOut(Rect.Left+1,Rect.Top+2,Column.Field.Text);
End
Else DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
End;
end;
← →
Miss (2002-09-25 10:02) [3]Для изменения цвета некоторых ячеек таблицы TDBGrid необходимо определить реакцию на событие DBGrid1DrawDataCell и проверив необходимые условия, перерисовать ячейку вручную (если в этом есть необходимость).
Все необходимые данные для отрисовки передаются в параметрах процедуры. Отрисовка белых букв на красном фоне если, перерисовывается поле "First_I", ячейка не в фокусе и значение поля меньше нуля.
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState);
begin
with DBGrid1.Canvas DO
if (Field.FieldName = "First_I") AND (NOT (gdFocused in State)) AND (Field.AsInteger < 0) then begin
Brush.Color := clRed;
Font.Color := clWhite;
end;
DBGrid1.DefaultDrawDataCell(Rect, Field, State);
end;
end;
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.10.17;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c