skillup

技術ブログ

Java JavaScript

ページャープラグイン dataTable

投稿日:

レコードを一覧表示する上で意外と面倒くさいのがページャーでしょう。

自力で作成してもよいのですが、なかなかこれが面倒だったりします。

また近年ではリンクを踏ませずに、スクロールするだけで表示ができる形式のものが多いですが、これを比較的簡単に実装できるプラグインがjQueryであったので紹介します。

DataTable

DataTableというプラグインを使えばかなり楽にこれを実装できます。

http://datatables.net/index

画面イメージ

このプラグインを使うと下記のような画面図が比較的簡単にできてしまいます。


pager

 

あ、ちなみに、データはすべてダミーデータです。

特徴としては

  • リンクを踏まなくてもスクロールするだけでデータが取得できる
  • スクロールが一定量を超えるとプログラムにアクセスし、データを取得する
  • データ自体はajaxで取得し、JSON形式に変換する
  • 従来のリンク形式(1,2,3 次)といったような表示もプロパティで切り替えられる

などでしょう。

スクロールするだけでページャーの表示ができるので便利ですね!

早速コードを見ていきましょう

コード

プロパティ

基本的にはプロパティですべてを制御していきますが、かなり設定が複雑で私もまだ完全には理解できていません。

本家のリンク(http://datatables.net/index)には仕様が乗っていますが、英語オンリーなので結構きついでしょう(汗)

上のソースでも必要最低限のものだけに絞ってあります。

“sDom”: “frtiS”

主に検索リンクの制御を行う部分で、この部分をいじるとページャーがリンク形式になったり、リンク形式のHTMLを変えたりすることができます。アルファベットを組み合わせて、表記を変えます。

下記リンクが詳しいですね。

http://d.hatena.ne.jp/gloryof/20140102/1388670210

“sAjaxSource”

最も大事な部分でデータを直接取得するプログラムです。スクロール量が一定に達するとこのプログラムにアクセスします。

console

スクロールが一定になるとクロムのコンソール画面で上記のように通信が発生しているのがわかると思います。

“bServerSide”

サーバーと通信が発生するか否かです。通常はtrueですが、まれにfalseを使うこともあります。

“sScrollY”

レコードを表示している部分の幅です。

“oLanguage”

通常は英語表記なので、他の言語の表記にする場合、上記のようなプロパティをセットします。詳細は下記のプロパティです。

“sProcessing”

読み込み中に表示されるメッセージや画像です。

“sInfo”:500件中(1件~20件)などのメッセージを表示します。

総レコード数を_TOTAL_、レコード開始位置を_START_、レコード終了位置を_END_で表記します。

“sInfoEmpty”: ” 0 件中 0 から 0 まで表示”
レコードがなかった場合の表記をします。

JSON形式

ちなみにJSONは下記のような形式で吐かせています。

JSONに関してはhttp://www.jsoneditoronline.org/を使うとうまく整形してくれますので使うとよいでしょう。

Javaで扱う場合にはこのエントリーで紹介したJacksonというプラグインが便利です。ただクラスをJSONに変換したところ、うまくいかずMap形式にしたところ無事表示されました。

こんなところですね。まだまだ全然使いこなせていないのでもう少しいろいろと調査したいと思っています。

ちなみに下記リンクを参考にしました。

http://www.hos.co.jp/blog/20130115/

http://etc9.hatenablog.com/entry/20121029/1351513986

-Java, JavaScript

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

Glassfishの暴走に関して

JavaEEのアプリケーションサーバーではglassfishを使っているんですが、 メモリをかなり食うのと、頻繁に暴走してIDEからの処理を一切受け付けなくなることが多いです。 まだまだ全然対処法がわ …

no image

persistence.xmlのプロパティについて

JavaEEではデータベースとの設定情報はpersistence.xmlに記述します。 (ユーザー名、パスワード、ポート、driver名、データベース名などの情報はglassfish-resource …

no image

配列からListへの変換

配列からListにしたいとき、ループでいちいち回さなくても下記の処理で一気にListに変換できます。

Netbeansに教えてもらいま …

no image

データベース文字コード対策他

Contents1 JDBC文字化け対策2 BigDecimal2.1 ソース2.2 参考リンク3 CreateQuery4 jsfのconvertNumber JDBC文字化け対策 データベースがu …

no image

JavaでのSQLの書き方

ちょっと小ネタです。 通常SQLを記述する場合、縦に分けて書くのが見た目にも見やすく、保守性も高いです。 例として

と書くよりは、 [ …