Flexigrid
Flexigridは、Paulo P.Marinas氏が書いたJQueryのプラグインで、非常に高機能で美麗なテーブルをHTML上に表示するものだ。
さすがにインプレイス編集まではサポートしていないようだが(※1)、Visual StudioのDataGridViewで作ったデータナビゲーション・ビューのような、かなり綺麗なテーブルになる。
また、扱いもjQueryのプラグインらしく非常に簡単であり、XMLやJSONデータをデータソースとして扱えるのは当たり前としても、例えば以下のように全く事前の設定無くtableタグを指定するだけで、FlexiGridの表示を行える。
<div class="code"> <pre>$('.flexme').flexigrid();</pre> </div> <table class="flexme"> <thead> <tr> <th width="100">Col 1</th> <th width="100">Col 2</th> <th width="100">Col 3 is a long header name</th> <th width="300">Col 4</th> </tr> </thead> <tbody> <tr> <td>This is data 1 with overflowing content</td> <td>This is data 2</td> <td>This is data 3</td> <td>This is data 4</td> </tr> : : <tr> <td>This is data 1</td> <td>This is data 2</td> <td>This is data 3</td> <td>This is data 4</td> </tr> </tbody> </table>
昔、似たようなテーブルを全て素のJavaScriptとビヘイビアで書いたことがあるが、大変だったのが嘘のようだ。
ただし、CSSとスクリプトで実現したこのようなテーブルの常として、大量のデータを流し込んだ場合は、PCのスペックによって入力や再描画の応答にかなりの差が出る。実際、自宅のPCではカラムの再描画がワンテンポ遅れて開始するが、これは仕方の無い所だろう。
※1 まだ詳しく調べていないので推測でしかない。