table でヘッダを固定してスクロール

HTML table でヘッダを固定してスクロールさせる方法は、CSSだけでは無理なので、
JavaScript のライブラリを探してたところ、良いものを見つけました。

http://www.otchy.net/javascript/tablefix/

MITライセンスです。


呼び出し記述例

$('tableSelector').tablefix( { width: 600, height: 400, fixRows: 1, fixCols: 2 } );

引数の意味は、
 width    テーブル全体の横幅
 height   テーブル全体の縦の長さ
 fixRows  テーブル上部で固定するヘッダの行数
 fixCols   テーブルの左側で固定する列数


<table id="dataview"> に対して、

<script type="text/javascript">
$(function(){
  $('<色:#0000ff>#dataview</色>').tablefix( { height: 100, fixRows: 1 } );
});
</script>

のように記述します。

ヘッダ1行のみ固定で

  $('#dataview').tablefix( { height: 100, fixRows: 1 } );

の結果の例、(画面キャプチャなのでスクロールしません)

f:id:posturan:20160313193114j:plain