続いてJavascriptソースです。
$(function() {
$("#dom_type_table").dataTable();
var fruitData = [
[ 5, "りんご" ],
[ 3, "みかん" ],
[ 1, "なし" ],
[ 2, "いちご" ],
[ 4, "バナナ" ]
];
$("#array_type_table1").dataTable({
aaData : fruitData,
aoColumns : [
{ sTitle : "No."},
{ sTitle : "名称"}
]
});
$("#array_type_table2").dataTable({
aaData : fruitData,
aoColumnDefs : [
{ sTitle : "No.", aTargets : [0]},
{ sTitle : "名称", aTargets : [1]}
]
});
} );
dataTable関数を実行することによりテーブルの設定を行います。
さまざまなオプションを指定することができますが、
今回は最小限の設定のみにしています。
既存のDOMに対して設定を行う場合は、dataTable関数を呼び出すだけです。
配列データに対して設定を行う場合は、
aaData、aoColumns/aoColumnDefsの設定が必要になります。
aaDataには対象のデータの配列オブジェクトを指定します。
aoColumns/aoColumnDefsには設定用のJSONオブジェクトを指定します。
sTitleにはカラムのタイトルを設定します。
[aoColumns]
aoColumnsの場合は指定した配列の同じインデックスの箇所に設定が適用されます。
そのため、aoColumnsの配列の長さと
aaDataの配列の長さは一致している必要があります。
[aoColumnDefs]
aoColumnDefsの場合はaoColumnsと違い、
配列の長さが一致している必要はありませんが、
各設定値の中で対象となるデータのインデックスを指定する必要があります。
インデックスの指定はaTargesに指定します。
【表示結果】
作成したHTMLを表示して見ると↓のようになります。
カラムのタイトルをクリックすると
カラム内の値でソートが切り替わります。
元のHTMLでは作成していなかった項目が追加されています。
1ページ内の表示切替、検索ボックス、表示範囲の説明、前ページ/次ページです。
これらはDataTablesのデフォルト設定では表示されるようになっています。
【まとめ】
DataTablesを使うと簡単にソート機能などが使えるようになりました。
既存のDOMに対して簡単に設定ができるのは
かなり重宝すると個人的には思います。