Man könnte doch einfach wieder
zurücktauschen:
Delphi-Quellcode:
procedure TForm1.DBGrid1ColumnMoved(Sender: TObject; FromIndex,
ToIndex: Integer);
begin
// liegt Quelle oder Ziel Column zwischen 0 und 3 ?
if (ToIndex < 4) or (FromIndex< 4) then
begin
// zurücktauschen
DBGrid1.Columns.Items[ToIndex].Index := FromIndex;
end;
end;