skillup

技術ブログ

Java JavaScript

ページャープラグイン dataTable

投稿日:2015年7月4日 更新日:

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

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

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

DataTable

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

http://datatables.net/index

画面イメージ

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


pager

 

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

特徴としては

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

などでしょう。

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

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

コード

プロパティ

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

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

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

“sDom”: “frtiS”

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

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

テーブルのオプション

“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形式にしたところ無事表示されました。

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

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

JQueryプラグインのDataTablesでAjax通信

HTML テーブルをナイスに扱う DataTables 〜導入編〜

-Java, JavaScript
-

執筆者:


  1. […] ページャープラグイン dataTable […]

comment

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

関連記事

no image

JSF+ajax

JSFでajaxを使うときにいろいろと調べたのでメモ。 やろうとしたことはWEB上で給与明細の計算をしたくて、プルダウンで月の変更したら自動的に経費が該当月に替わるというシステムです。 ajaxを使う …

no image

timepickerについて

日付を入力するときに直接、文字入力するのがメンドイことからカレンダーが表示されるプラグインを使っている人は多いでしょう。 私も日頃Datepickerというライブラリを使っています。が、このプラグイン …

no image

JPAを使用する  JavaSE編

現在の開発ではデータベースへの接続ではJPAを使っています。このJPAがなかなか曲者でいろいろと詰まることがありましたので解説させていただきます。 Contents1 JPAとは?1.1 メリット1. …

no image

CSVの入出力に関して

業務でCSVの入出力と格闘中。 まあよくある頻出の作業だったりするんですが、自前でやるとなかなか面倒です。 面倒なポイントとしては クオートのエスケープ カンマのエスケープ ヘッダーとの結合 ですかね …

no image

JavaSEでのCDI

以前、JavaSEでもCDIを使ってみたい!と思ったのですが、以前は探し方が悪かったのか情報を見つけ出すことができませんでした。 が、昨日ちょっと検索したらちょっと情報があり、無事実装できたのでメモし …

アーカイブ