jqueryグリッドいろいろ
今回は、Excelライクなグリッドの要望を受け、まさかゼロからの開発を行う訳にもいかず、いくつかのライブラリを試してみました。
案件に必要とする機能は次の通りで、代用可能な処理が含まれるものの、かなり敷居が高い。
+ [Enter]、[Tab]、[Arrow]、[Ctrl]+[C]、[Ctrl]+[V]のキー操作。
+ 複数レコードの一括コピー・ペースト。
+ リスト、ドロップダウン、テキスト、チェックボックス、カレンダー等のインライン編集。
+ 固定カラム。
+ ヘッダのグルーピング。
+ ページネーション。
+ ページングのローテーション。
+ 複数カラムのフィルタリングとソートの同時利用。
+ 入力時バリデーション。
+ イベントの取得。
+ コールバック。
+ Excel、PDF等への出力。
最初の検証は、w2uiライブラリに含まれるGrid。
何といっても軽量なのが第一印象。
ページングは無く、スクロールで100万行に対応とのことでしたが、環境に依っては、スムーズなスクロールは実現されませんでした。
サンプルも豊富で、動作も安定している印象でしたが、必須機能のいくつかは実現できませんでしたので、今回は採用を見送りました。
・本家サイト
・デモサイト
・日本語リファレンス
次の検証は、handsontable。
実に惜しい。
ソートとダブルバイト文字の扱い(対処可能)に不具合があるようです。
また、編集不可カラムのソートができませんでした。
その他、スクロール時の不具合と遅延が発生するケースを確認しました。
issuesの多さから期待は大きいのでしょうが、対応に追われ、基本部分でフィックスできていない課題が多く残っています。
・本家サイト
・デモサイト
3つ目の検証は、SlickGrid。
正直なところ、カスタマイズのコーディングに最も手間取りました。
何とか期待通りの機能までたどり着けそうだったのですが、後日のメンテナンスを考えると、コーディングの複雑さからやる気が失せそうで、途中で作業を断念しました。
・本家サイト
・デモサイト
検証にかけられる時間も残りわずか。
ということで、有償ながらも評判の高いJQWidgetsをダウンロード。
ウィジェット群からjqxGridに的を絞り、サンプルを作成。
数時間で、期待通りの機能以上のものを得ることができました。
ライブラリは大きく、もたつき感はあるのですが、機能・安定感・コーディングのし易さと申し分なく、他のウィジェットも試したくなります。
やはり、有償ということでしょうか。
・本家サイト
・デモサイト