Главная страница
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.053 c
15-1172218340
Ricks
2007-02-23 11:12
2007.03.18
А вдруг...


15-1171660987
Ricks
2007-02-17 00:23
2007.03.18
Никола Тесла


15-1172147803
DrDe
2007-02-22 15:36
2007.03.18
Может не в этот раздел, но все же...


15-1171803931
Eraser
2007-02-18 16:05
2007.03.18
Типовые драйвера


15-1171896458
Cerberus
2007-02-19 17:47
2007.03.18
Отдам кошечку в хорошие программистские руки (Самара)