This is something which gets asked pretty often by customers: 'Can you add some kind of sort indication to the headers of this column?'.
I've seen a few solutions on the web. Some use CSS to fix this, some handle the OnRowCreated event.. These are both good solutions, but these solutions aren't very reusable and might end up in a copy-paste fest.
Because I'm reading
Pro ASP.NET 3.5 Server Controls and AJAX Components, I thought it would be a good idea to create a custom control which inherits from the GridView to put a chapter of the book into practice.
I extended the GridView so you can set a HeaderColorSortedColumn. I added the property HeaderColorSortedColumn and overrode the OnRowCreated method.
The most important part in this code snippet is finding the LinkButton and comparing it's CommandArgument to the SortExpression of the GridView.I implemented my custom control in default.aspx by adding the register tag on top of the page.

And here is the result..

Next up is adding an image to the headers.