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

Перетаскиваем колонки и строки в TStringGrid мышью

01.01.2007
{ 
 
The user can move rows and columns of a StringGrid with the mouse.
 
Can it also be done by code?
 
In the help for TCustomGrid you can see the methods MoveColumn and MoveRow,
  but they are hidden
in TStringGrid.
 
We can make them accessible again by subclassing TStringGrid and
  declaring these methods
as public:
}
 
type
 
TStringGridHack = class(TStringGrid)
 
public
    procedure
MoveColumn(FromIndex, ToIndex: Longint);
    procedure
MoveRow(FromIndex, ToIndex: Longint);
 
end;
 
{
 
The implementation of these methods simply consists of invoking the
  corresponding method of the ancestor
:
}
 
procedure
TStringGridHack.MoveColumn(FromIndex, ToIndex: Integer);
begin
  inherited
;
end;
 
procedure
TStringGridHack.MoveRow(FromIndex, ToIndex: Integer);
begin
  inherited
;
end;
 
 
// Example, Beispiel:
 
procedure TForm1
.Button1Click(Sender: TObject);
begin
 
TStringGridHack(StringGrid1).MoveColumn(1, 3);
end;
 

Взято с сайта: https://www.swissdelphicenter.ch