const
LOCKED_COLUMN = 3;
procedure TtuForm.DBGrid1DrawColumnCell( Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState );
begin
if ( a = '1' ) and ( Column.Index = LOCKED_COLUMN ) then
begin
DbGrid1.Canvas.Brush.Color := clBlack;
DbGrid1.Canvas.Font.Color := clBlack;
DbGrid1.DefaultDrawColumnCell( Rect, DataCol, Column, State );
end;
end;
procedure TtuForm.DBGrid1ColEnter( Sender: TObject );
var
gr: TDBGrid;
begin
gr := TDBGrid( Sender );
if ( a = '1' ) and ( gr.SelectedIndex = LOCKED_COLUMN ) then
gr.SelectedIndex := 0;
end;