Главная страница | назад





Article #15711: Displaying the selected row of a DBGrid in a different color

 Question and Answer Database
FAQ711D.txt Displaying the selected row of a DBGrid in a different color
Category :Database/VCL
Platform :All
Product :Delphi 3.x
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;
7/16/98 4:31:28 PM

Last Modified: 01-SEP-99