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

Вниз

Цветной DBGrid   Найти похожие ветки 

 
deras   (2007-02-23 15:02) [0]

Читал статью "Разноцветный грид". Вроде понятно... кроме одного. Как задать условие для разрисовки. Например, если в поле "age", значение 10, то текст в строке сделать синим.


 
Ega23 ©   (2007-02-23 15:08) [1]


procedure TFClassConfig.dbgCOMUnitsGetCellParams(Sender: TObject;
 Column: TColumnEh; AFont: TFont; var Background: TColor;
 State: TGridDrawState);
var
ds:TDataSet;
begin
 if not (Sender is TDBGridEh) then Exit;
 ds:=TDBGridEh(Sender).DataSource.DataSet;
 if ds.IsEmpty then Exit;
 if ANSIUpperCase(Column.FieldName)="COMMSKSTR" then
  begin
   if ds.FieldByName("COMMsk").AsInteger=0 then
      AFont.Color:=clRed
    else
      AFont.Color:=clBlue;
  end;

 if ANSIUpperCase(Column.FieldName)="COMTYPNAM" then
  begin
   Case ds.FieldByName("COMTypCod").AsInteger of
     10 :  AFont.Color:=clGreen;
     20 :  AFont.Color:=clAqua;
     30 :  AFont.Color:=clBlue;
     else  AFont.Color:=clGray;
   end;
  end;

end;


 
Ученик чародея ©   (2007-02-23 15:08) [2]

DBGrid:
DefaultDrawing=False;
задать обработчик события
OnDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState)

Отрисовка через DbGrid.Canvas


 
Desdechado ©   (2007-02-23 15:08) [3]

procedure TfrmPortNagr.gridNagrDrawColumnCell( Sender: TObject; const Rect: TRect;
         DataCol: Integer; Column: TColumn; State: TGridDrawState );
begin
 with( gridNagr ) do
   if( Enabled and ( not( gdFocused in State ) ) and
       ( Column.FieldName = "CCONT" ) ) then
     begin
       if( qryPortNagr.FieldByName( "NSTATUS" ).AsInteger = PS_RESERVED ) then
         begin
           Canvas.Brush.Color := clMoneyGreen;
           Canvas.FillRect( Rect );
         end
       else if( qryPortNagr.FieldByName( "NSTATUS" ).AsInteger in [ PS_NOTVALID, PS_EQUIPPED ] ) then
         begin
           Canvas.Brush.Color := clYellow;
           Canvas.FillRect( Rect );
         end;
       DefaultDrawColumnCell( Rect, Column.Index, Column, State );
     end;
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.102 c
2-1172612130
Lonix
2007-02-28 00:35
2007.03.18
Копирование файла


2-1172600453
Lonix
2007-02-27 21:20
2007.03.18
Запись в файл


15-1171808273
Зм1й
2007-02-18 17:17
2007.03.18
Древовидный стиль кода


15-1171752456
koha
2007-02-18 01:47
2007.03.18
Может быть обсудим новую утилиту


15-1171890958
TIF
2007-02-19 16:15
2007.03.18
Оцените работу WEB-дизайнера (меня то есть :-)