Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как зафиксировать один или несколько столбцов в TDBGrid с возможностью навигации по этим столбцам?

01.01.2007
procedure TDbGridEx.ColEnter;
 
procedure ProcessColEnter;
begin
 // -----------------------------------------------------------
 if (SelectedIndex  _Mark) then
   begin
     ColumnMoved(Columns.Count, StaticCol + 1);
     SelectedField := Fields[StaticCol];
   end;
   Exit;
 end;
 
 // -----------------------------------------------------------
 if (SelectedIndex > StaticCol) then
 begin
 
   if _LastSelectedIndex = StaticCol then
   begin
     if _Mark = Columns[SelectedIndex].Title.Caption then
 
     begin
       ColumnMoved(StaticCol + 1, Columns.Count);
       SelectedField := Fields[Columns.Count - 1];
     end
       else
     begin
       ColumnMoved(StaticCol + 1, Columns.Count);
       SelectedField := Fields[StaticCol];
     end;
   end;
 
 end;
end;
 
begin
 if (_EntryCol > 0) or _MouseDown or (StaticCol = 0) then
 begin
   _MouseDown := FALSE;
 end else
 begin
   inc(_EntryCol);
   ProcessColEnter;
   dec(_EntryCol);
 end;
 
 if Assigned(OnColEnter) then OnColEnter(Self);
 
 _LastSelectedIndex := SelectedIndex;
end;

Автор: Ramil Galiev

(2:5085/33.11)

Автор: StayAtHome

Взято с Vingrad.ru https://forum.vingrad.ru