- - * - WhiteUnicorn - * - -




* #WhiteUnicorn/ StartPage/ Documentation/DelphiFAQ >


Frequently Asked Questions

Displaying the selected row of a DBGrid in a different color

Question:

How can I show selected row in a dbgrid in a different color without using dgRowSelect (because I need to edit the data)?

Answer:

If you want to color the selected row in a DBGrid but you don't
want to use the dgRowSelect option because you want to be able
to edit the data you can use the following technique on the 
DBGrid.OnDrawColumnCell event:

type
  TCustomDBGridCracker = class(TCustomDBGrid);
 
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; 
  const Rect: TRect; DataCol: Integer; Column: TColumn; 
  State: TGridDrawState);
begin
  with Cracker(Sender) do
    if DataLink.ActiveRecord = Row - 1 then
      Canvas.Brush.Color := clRed
    else
      Canvas.Brush.Color := clWhite;
  DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;



* #WhiteUnicorn/ StartPage/ Documentation/DelphiFAQ >



- - * - Anastasija aka WhiteUnicorn - * - - LJLiveJournal
PFPhotoFile