多機能テーブルDataTablesを使う

受託開発担当のRyuです。

今回はJQueryプラグインの一つであるDataTablesの紹介をしていきます。


DataTablesとはテーブルに検索やソート、ページ切り替えなどを簡単に追加してくれる多機能なプラグインです。
公式ページにはAPIドキュメントやサンプルも揃っているのでJQuery利用者には非常に有難いのではないでしょうか。

まずはこんな感じのHTMLを書いてみました。

<html><head>
<link rel="stylesheet" href="dataTables/css/jquery.dataTables.css">
<style type="text/css">
<!--
body {width: 400px;}
#sample_table {border: 1px solid black;}
-->
</style>
</head>
<body>
	<h5>DataTablesのサンプルです。</h5>
	<table id="sample_table">
		<thead>
			<tr><th>No.</th>
				<th>帳票名</th>
				<th>作成日</th></tr>
		</thead>
		<tbody>
			<tr><td>1</td>
				<td>aaa.pdf</td>
				<td>2012/09/01</td></tr>
			<tr><td>2</td>
				<td>bbb.pdf</td>
				<td>2012/09/02</td></tr>
			<tr><td>3</td>
				<td>ccc.pdf</td>
				<td>2012/09/03</td></tr>
		</tbody>
	</table>

	<script type="text/javascript" src="js/jquery-1.8.0.min.js"></script>
	<script type="text/javascript" src="dataTables/js/jquery.dataTables.min.js"></script>
	<script>
		$("#sample_table").dataTable();
	</script>
</body></html>

defaultの外観

DataTablesは対象のテーブルセレクタにdataTable()関数を実行するだけで簡単に利用することができます。
この状態で行ソート、検索、ページ切替の機能が利用できます。
デフォルトの状態では横幅は上位タグの幅に、また枠線が無いので少しだけstyleを設定しています。
DataTablesを使用するテーブルには必ず <thead> タグと <tbody> タグが必要です。

さて、これだけでも機能としては十分ですが、今度は表示されているメッセージを日本語化してみようと思います。
日本語化はdataTable()関数実行時に設定を行います。

$("#sample_table").dataTable({
	"oLanguage": {
		"sLengthMenu": "表示行数 _MENU_ 件",
		"oPaginate": {
			"sNext": "次のページ",
			"sPrevious": "前のページ"
		},
		"sInfo": "全_TOTAL_件中 _START_件から_END_件を表示",
		"sSearch": "検索:"
	}
});

日本語化

とりあえず初期表示で見えている所だけ日本語化してみました。
まだまだメッセージはありますので詳しくはこちらを参考にしてください。

次回はデザインの変更を紹介しようと思います。