DataTables のページネーションボタンを変更する


こんにちは、Webシステム部の長谷です。

前回はDataTablesの表示速度を速くする方法について書かせていただきましたが、今回はページネーションボタンの表示変更方法について書こうと思います。

はじめに

DataTablesにはデフォルトで以下の画像ようにページネーションボタンが表示されています。

実はこのページネーションボタンの表示を変更することができます。

といっても公式のドキュメントにはちゃんと記載されているのですが、英語で書かれており日本語で紹介している記事が意外となかったので、せっかくなのでここで紹介したいと思います。

方法

方法はとても簡単です。

pagingType をオプションとして追加し、引数を指定してあげるだけです。

■ jQuery

jQuery(function($){
    $("table.datatable").DataTable({
        // ページネーションボタンの表示
        "pagingType": "simple_numbers"
    }); 
});

上記コードでいうと、simple_numbersのところです。
ここを変えることで、ページネーションボタンの表示を色々と変えることができます。

以下、指定可能な引数を紹介します。

simple_numbers

「前」「次」ボタン、ページ番号で構成されます。

pagingTypeオプションを設定しなかった場合、自動的にこの設定となります。

■ jQuery

jQuery(function($){
    $("table.datatable").DataTable({
        // ページネーションボタンの表示
        "pagingType": "simple_numbers"
    }); 
});

■ 表示

numbers

ページ番号ボタンのみで構成されます。

■ jQuery

jQuery(function($){
    $("table.datatable").DataTable({
        // ページネーションボタンの表示
        "pagingType": "numbers"
    }); 
});

■ 表示

simple

「前」「次」ボタンのみで構成されます。

■ jQuery

jQuery(function($){
    $("table.datatable").DataTable({
        // ページネーションボタンの表示
        "pagingType": "simple"
    }); 
});

■ 表示

full

「先頭」「前」「次」「最終」ボタンで構成されます。

■ jQuery

jQuery(function($){
    $("table.datatable").DataTable({
        // ページネーションボタンの表示
        "pagingType": "full"
    }); 
});

■ 表示

full_numbers

「先頭」「前」「次」「最終」ボタン、ページ番号で構成されます。

■ jQuery

jQuery(function($){
    $("table.datatable").DataTable({
        // ページネーションボタンの表示
        "pagingType": "full_numbers"
    }); 
});

■ 表示

first_last_numbers

「先頭」「最終」ボタン、ページ番号で構成されます。

■ jQuery

jQuery(function($){
    $("table.datatable").DataTable({
        // ページネーションボタンの表示
        "pagingType": "first_last_numbers"
    }); 
});

■ 表示

以上の6つがあります。

また、プラグインを追加することで、上記以外の設定をすることも可能です。
今回は使えそうなものを抜粋して紹介します。

input

「先頭」「前」「次」「最終」ボタン、input タグでのページ指定で構成されます。

■ プラグイン

<script type="text/javascript" src="//cdn.datatables.net/plug-ins/1.10.20/pagination/input.js"></script>

■ jQuery

jQuery(function($){
    $("table.datatable").DataTable({
        // ページネーションボタンの表示
        "pagingType": "input"
    }); 
});

■ 表示

listbox

selectボックスでのページ指定になります。

■ プラグイン

<script type="text/javascript" src="//cdn.datatables.net/plug-ins/1.10.20/pagination/select.js"></script>

■ jQuery

jQuery(function($){
    $("table.datatable").DataTable({
        // ページネーションボタンの表示
        "pagingType": "listbox"
    }); 
});

■ 表示

他にもプラグインはたくさんありますので、公式ドキュメントを参考にしてみてください。
https://datatables.net/plug-ins/pagination/

まとめ

このように簡単にページネーションボタンの表示を変更することができます。
ページ件数が多い場合は full_numbersにすることによってページ切り替えがやりやすくなると思うので、より便利になると思います。
ぜひ試してみてください。

以上となります。


この記事をかいた人

About the author

長谷竜弥

入社4年目です。
システム部に所属しています。
ずっと大阪で勤務していましたが、2019年の11月から横浜開発室に異動になりました。
趣味は野球で休日は草野球をしていましたが、横浜に来てからはできておらず悶々と日々を過ごしております。