自分の昔のBlogに書いてた・・・

やっほーが消える前に(ぉぃ バックアップしときますかー。

http://blogs.yahoo.co.jp/ogiwara_hsk/32105274.html

GridViewのヘッダだけ固定 したい場合、
IE5以上限定であればCSSの設定だけで
こんな感じでできます。

手順1:スタイルシートを書く:図1
手順2:WebUserControlに、GridViewをはりつけて、適当なDataSourceを割り当てる
    GridViewの、プロパティを表示
    HeaderStyleを展開し、CssClass に Freezing (手順1でつけた名前)を設定
手順3:元になるページ (Default2.aspxなど)を用意し、ソリューションエクスプローラ
    から、手順2で作成した、WebUserControl選択し、ドラッグ&ドロップ
手順4:Default2.aspxを右クリックして、「ブラウザで表示」:図3


 

コツ:手順2で、いきなり、GridViewをはりつけずに、Panelをはりつけて、
   その中に、GridViewを貼り付けて、
   PanelのScrollBarsプロパティを Auto (適切な値)にしておくと、
   デザインしやすいです。
 

元ネタ:
 どっとねっとふぁんBlog
 DataGridのヘッダーや列の固定表示(ASP.NET)
 http://dotnetfan.org/blogs/dotnetfanblog/search.aspx?q=DataGrid&p=1
Freezing Datagrid Header/Columns Made Easy
http://www.richardxin.com/FreezeHeader.aspx
IE5以上限定であればCSSの設定だけでこんなことできるよ、というサンプルです。
 
追記
英語のサイトのURLがきえてるっぽい・・・
現在は、ここが参考になります。




http://jsajax.com/SamplesByID.aspx?id=426