jqGrid について

jqGrid は、jQuery を使用したテーブルをグラフィカルに表示する多機能なプラグインです。
配列や JSON 形式のデータを設定するだけで、良い感じにテーブルを表示してくれます。

公式サイトのドキュメントは以下。
http://www.trirand.com/jqgridwiki/doku.php?id=start

ライブラリの導入方法


jQuery UI の CSS を使用しますので、一緒に導入する必要があります。
多分、readme を見た限りでは、css と画像しか使っていないと思うんだけど、詳しく見てないので実際はちょい不明。
心配な場合は、一緒に導入しましょう。
あと、当然、jQuery が入っていないと動かないので悪しからず。

とりあえず、ここでは全部使用してしまいましょう。
  • jQuery
  • jQgrid
  • jQuery-UI

上記をすべてダウンロードして、自分は以下の感じで配置してます。
忘れちゃいけないのが、jQuery-UI の画像ファイルを jqGrid では使用しているので、しっかり配置しておきましょう。
あと、jqGrid と同列のディレクトリに、メッセージボックスで表示するメッセージとかを定義する locale のファイルを置く必要があります。
同梱されているファイルがありますので、それを使用しませう。

プロジェクト
│
│index.html
│
└─plugin
   ├─jqGrid
   │      grid.locale-ja.js
   │      jquery.jqGrid.min.js
   │      ui.jqgrid.css
   │
   ├─jquery
   │      jquery-1.9.1.js
   │
   └─jquery-ui
       │  jquery-ui-1.10.1.custom.min.css
       │  jquery-ui-1.10.1.custom.min.js
       │
       └─images
               animated-overlay.gif
               ui-bg_flat_0_aaaaaa_40x100.png
               ui-bg_flat_55_fbec88_40x100.png
               ui-bg_glass_75_d0e5f5_1x400.png
               ui-bg_glass_85_dfeffc_1x400.png
               ui-bg_glass_95_fef1ec_1x400.png
               ui-bg_gloss-wave_55_5c9ccc_500x100.png
               ui-bg_inset-hard_100_f5f8f9_1x100.png
               ui-bg_inset-hard_100_fcfdfd_1x100.png
               ui-icons_217bc0_256x240.png
               ui-icons_2e83ff_256x240.png
               ui-icons_469bdd_256x240.png
               ui-icons_6da8d5_256x240.png
               ui-icons_cd0a0a_256x240.png
               ui-icons_d8e7f3_256x240.png
               ui-icons_f9bd01_256x240.png

上記の配置にしたら、html ファイルに読み込む JavaScript を指定します。
例えば、index.html を以下の感じにします。

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>INDEX.HTML</title>
	<script type="text/javascript" src="./plugin/jquery/jquery-1.9.1.js"></script>
	<link rel="stylesheet" type="text/css" media="screen" href="./plugin/jquery-ui/jquery-ui-1.10.1.custom.min.css" />
	<link rel="stylesheet" type="text/css" media="screen" href="./plugin/jqGrid/ui.jqgrid.css" />
	<script src="./plugin/jqGrid/grid.locale-ja.js" type="text/javascript"></script>
	<script src="./plugin/jqGrid/jquery.jqGrid.min.js" type="text/javascript"></script>
</head>
<body>
</body>
</html>

データの設定


POST して返ってきたデータを設定します。
単純な jqGrid のサンプルです。

HTML には、tblGrid というIDのテーブルタグと、tblPager というIDのDIVタグを用意している想定です。

$("#tblGrid").GridUnload();
$("#tblGrid").jqGrid
(
    {
        url              : "./json.php",
        datatype         : "json",
        mtype            : "POST",
        height           : 600,
        width            : 700,
        rowNum           : 30,
        rownumbers       : true,
        viewPagerButtons : true,
        pager            : "#tblPager",
        recordtext       : "View {0} - {1} of {2}",
        viewrecords      : true,
        multiselect      : false,
        caption          : text,
        postData         : { 'original' : "data1" },
        cellEdit         : true,
        cellSubmit       : 'clientArray',
        colNames         : [ '列1', '列2', '列3'],
        colModel         : [ { name  : '列1', index : '列1', width : 50, sorttype : 'str', align : 'left' },
	              { name  : '列2', index : '列2', width : 50, sorttype : 'str', align : 'left' },
                      { name  : '列3', index : '列3', width : 50, sorttype : 'int', align : 'left' } ]
    }
).navGrid
(
    "#tblPager",
    {
        view          : false,
        cloneToTop    : false,
        closeOnEscape : false,
        add           : false,
        edit          : false,
        search        : true,
        refresh       : false,
        del           : false
    }
);

各パラメータは以下の感じ。
ちょっと違うかもしれん。

jqGrid Options


本家ドキュメント
Reference URL http://www.trirand.com/jqgridwiki/doku.php?id=wiki:options

url 送信先URL
datatype jqGrid で使用するデータタイプ
mtype 送信方法
height 表の高さ
width 表の横幅
rowNum 行数
rownumbers 行番号の表示有無
viewPagerButtons ページャボタン表示の有無
pager ページャを表示するためのID指定
recordtext 何行目を表示しているかを表すテキスト
viewrecord 行数表示の指定
colNames どのような列を表示するか
multiselect 行選択用のラジオボタン表示
caption 表名
postData 独自に送信するデータ
colModel 列の形式
navGrid 行追加や削除などのオプションボタンの表示


navGrid


本家ドキュメント
Reference URL http://www.trirand.com/jqgridwiki/doku.php?id=wiki:navigator&s[]=navgrid

view 選択した行を表示をON
cloneToTop 最初のページに戻るをON(良くわからん)
closeOnEscape Esc で閉じる(良くわからん)
add 行追加ボタンを表示
edit 行編集ボタンを表示
search 検索ボタンを表示
refresh リフレッシュボタンを表示
del 削除ボタンを表示
最終更新:2013年03月07日 21:27