Я бы сделал что-то подобное
Сначала очистите полосы в вашей сетке
for I := 0 to YourGrid.bands.count-1
YourGrid.bands[I].Free;
Затем вы создаете заголовочные полосы
CreateBands('Prime key Header',YourGrid);
CreateBands('Main Title 1 Header',YourGrid);
CreateBands('Main Title 2 Header',YourGrid);
Затем вы подключаете свои столбцы к индексу Bands
for I := 0 to YourGrid.ColumnCount - 1 do
begin
if (YourGrid.Columns[I].Caption = 'prim_key') then
YourGrid.Columns[I].Position.BandIndex := 0
end;