Q:

Can datagridviews have multiple column headers in c#? 

Is there anyway to have a datagridview with multiple column headers? 
For example Have a column header in the top it normally is and then have one in the middle  of the table aswell? 

A:

The answer is
No
But the question is, what's your question?  If you're trying to freeze the header row, in order to facilitate scrolling through data grid, then then answer is, yes you can.  See here. 
Also, if you want to nest header columns (column groups), then the answer is again, yes you can.  See here. 
And at last if you do need to have tow header columns in ONE grid, then you have to create a custom control.