ツールバーを表示する
別に無くても良い機能なんだけど、グリッドの上下にツールバーを配置することができる。まぁステータスバーみたいな付加情報を表示するのに便利かな、というぐらい。
サンプルでは、選択された行数を表示させるようにしたり、選択中の情報を表示するボタンを配置して遊んでみました。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>ツールバーを配置するサンプル</title> <link rel="stylesheet" type="text/css" media="screen" href="css/jquery-ui-1.7.2.custom.css" /> <link rel="stylesheet" type="text/css" media="screen" href="css/ui.jqgrid.css" /> <script type="text/javascript" src="js/jquery-1.3.2.min.js"></script> <script type="text/javascript" src="js/i18n/jquery.jqGrid.min.js"></script> <script type="text/javascript" src="js/jquery.jqGrid.min.js"></script> <script type="text/javascript"> function show() { // 現在選択中の行を表示する var id = $("#list").getGridParam("selrow"); if(id) { var r = $("#list").getRowData(id); alert("番号、名前:" + r.employee_no + ", " + r.name); } else alert("選択されてません"); } function redraw_selection_num() { // グリッドが選択されると、選択した行数を表示する var n = $("#list").getGridParam("selarrrow").length; $("#select_count").text(n); } jQuery(document).ready(function() { jQuery("#list").jqGrid({ datatype: "local", colNames:['従業員番号', '名前'], colModel:[ {name:'employee_no', editable:true}, {name:'name' , editable:true}, ], toolbar: [true,"both"], // top or bottom or both onSelectRow: function(id, b_check) { redraw_selection_num(); }, onSelectAll: function(ids, b_check) { redraw_selection_num(); }, multiselect: true, caption: 'ツールバーを配置する' }); var mydata = [ {employee_no:"1",name:"test1"}, {employee_no:"2",name:"test2"}, {employee_no:"3",name:"test3"}, ]; for(var i=0;i<=mydata.length;i++) jQuery("#list").addRowData(undefined,mydata[i]); // toolbar の id 属性は以下のようになる // ・top or bottom の場合:t_{グリッドID} // ・bothの場合 // - 上のツールバー :t_{グリッドID} // - 下のツールバー :tb_{グリッドID} $("#t_list").append("<div id=\"select_count\">0</div>"); $("#tb_list").append("<button id=\"show_button\">ポチ</button>"); $("#show_button").click(show); }); </script> </head> <body> <table id="list" class="scroll" cellpadding="0" cellspacing="0"></table> </body> </html>