Da du DataSets benutzt ist es zeimlich easy.
Da kannst du die TableStyles benutzen.
Diese können auch zur Laufzeit angepasst werden. Ansonsten ist das eine der beschi**ensten Schwachstellen des Grids. (Solange man keine DataSets nimmt. )
Mit .Net 2.0 hat sich da einiges getan (besonders mit dem DataGridView -> Hybride aus DataGrid und ListView)