en tiempo de ejecucion el grid tiene una propiedad que se lala formatstring
le pones ejemplo:
m1.formatsrting="y los nobres que quieras separados por un caracter especial"
y es todo asi te evitas de escribir tanto codigo y puedes usar el grid con diferentes emcabezados para otros reportes, checalo si funicona