【jqGrid】サイトにjqGridを導入する方法
jQueryのプラグイン「jqGrid」はHTML標準の「TABLEタグ」だけでは実現するには難しいデータのソートや絞り込みなどの機能を実現してくれるものです。
今回はその「jqGrid」をサイトで利用できるようにする方法です。
サイトにjqGridを導入する方法
jqGridは
でダウンロードできるのですが、利用は無料ではないので、今回は無料バージョンをCDNからリンクして使うことにします。
具体的にはHTMLファイルの先頭に以下の行を追加します。
<head>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/ui-lightness/jquery-ui.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/free-jqgrid@4.15.4/css/ui.jqgrid.min.css">
<script src="https://cdn.jsdelivr.net/npm/free-jqgrid@4.15.4/js/i18n/min/grid.gendere-de.js"></script>
<script src="https://cdn.jsdelivr.net/npm/free-jqgrid@4.15.4/js/jquery.jqgrid.min.js"></script>
</head>
jqGridはjQueryのプラグインなのでjQuery本体もCDNからのリンクを追加しておきます。
実際に表を表示するには
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/ui-lightness/jquery-ui.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/free-jqgrid@4.15.4/css/ui.jqgrid.min.css">
<script src="https://cdn.jsdelivr.net/npm/free-jqgrid@4.15.4/js/jquery.jqgrid.min.js"></script>
<script>
$(function() {
//列の設定
var col_model= [
{ name:"no" , index:"no", width:70, align:"right" },
{ name:"name", index:"name", width:100, align:"left" },
{ name:"age", index:"age", width:100, align:"right" },
{ name:"gender", index:"gender", width:100, align:"left" }
];
//列の表示名
var header_name = ["No.","名前","年齢","性別"];
//表示するデータ
var datas = [
{ "no":1, name:"Aさん", age:20, gender:"男性" },
{ "no":2, name:"Bさん", age:25, gender:"女性" },
{ "no":3, name:"Cさん", age:30, gender:"男性" },
{ "no":4, name:"Dさん", age:35, gender:"男性" },
{ "no":5, name:"Eさん", age:45, gender:"女性" }
];
//テーブルの作成
$( "#list_table" ).jqGrid({
data:datas //表示したいデータ
,datatype : "local" //データの種別(local,json,xml)
,caption : "表のタイトル" //表のキャプション
,colNames : header_name //列の表示名
,colModel : col_model //列ごとの設定
,rowNum : 5 //1ページに表示する行数
,rowList : [1, 5, 10, datas.length] //変更可能な1ページ当たりの行数
,height : $( window ).height() * 0.4 //高さ(px指定)
,width : $( window ).width() * 0.6 //幅(px指定)
,pager : 'list_pager' //footerのページャー要素のid
,shrinkToFit : true //画面サイズに依存せず固定の大きさを表示する設定
,viewrecords: true //footerの右下に表示する。
});
$( "#list_table" ).filterToolbar({
defaultSearch : "eq" //一致条件
});
});
</script>
</head>
<body>
<table id="list_table"></table>
<div id="list_pager"></div>
</body>
</html>
のような感じになります。










