what you are after is a 'freeze pane' effect. Dino esposito has two columns
on this - extensive code in both the october and december issue of aspnetpro
magazine. You can take a look and see if you like his approach.
Alteratively, you can, in your sort command save the first row, delete it,
sort it, and add the row back at position zero. I'd suggest you overload the
bind routine to have that effect consistent across your application.