jqGridでページャーで表示しているデータのみ取得するサンプルです。
サンプルソース
例)ページャーで表示しているデータのみ取得する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>jqGridページャーで表示しているデータのみ取得するサンプル</title> <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> <script src="https://code.jquery.com/ui/1.12.0/jquery-ui.min.js"></script> <script src="https://js.cybozu.com/jqgrid/v5.1.1/js/jquery.jqGrid.min.js"></script> <script src="https://js.cybozu.com/jqgrid/v5.1.1/js/i18n/grid.locale-ja.js"></script> <link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"> <link rel="stylesheet" href="https://js.cybozu.com/jqgrid/v5.1.1/css/ui.jqgrid.css"> <script> $(document).ready(function(){ //表示データ var dt = [ {cd:"A001", name:"りんご", price:150} ,{cd:"A002", name:"みかん", price:100} ,{cd:"A003", name:"ぶどう", price:500} ,{cd:"A004", name:"もも", price:300} ,{cd:"A005", name:"かき", price:200} ,{cd:"A006", name:"すいか", price:800} ,{cd:"A007", name:"メロン", price:1500} ,{cd:"A008", name:"いちご", price:400} ,{cd:"A009", name:"びわ", price:120} ,{cd:"A010", name:"まくわ", price:200} ,{cd:"A011", name:"くり", price:500} ,{cd:"A012", name:"マンゴー", price:1000} ,{cd:"A013", name:"キウイ", price:200} ,{cd:"A014", name:"ネーブル", price:100} ,{cd:"A015", name:"バナナ", price:100} ,{cd:"A016", name:"あけび", price:350} ]; //表示設定 $("#grid01").jqGrid({ data: dt ,datatype: 'local' ,colNames:['ID', '名称', '値段'] ,colModel:[ {index:'cd', name:'cd', width:'50px', align:'center',sortable: false} ,{index:'name', name:'name', width:'150px'} ,{index:'price', name:'price', width:'100px', align:'center'} ] ,height:150 ,multiselect:true ,caption: '商品一覧' ,rowNum : 5 ,rowList : [5, 10, 20] ,viewrecords: true ,pager : 'pg01' }); //ボタンクリックイベント $("#btn1").click(function(){ var rowIds = $("#grid01").jqGrid('getDataIDs'); for (var i=1;i<=rowIds.length;i++){ var row = $('#grid01').getRowData(i); console.log(row); }; }); }); </script> </head> <body> <table id="grid01"></table> <div id="pg01"></div> <input type="button" id="btn1" value="データ取得"> <p>※ボタンを押すと、取得データがコンソールに表示されます。</p> </body> </html> |
実行サンプル
解説
- ページャーで表示しているデータのみ取得するには、.jqGrid('getDataIDs') を使用します。
- jqGridのその他のオプションについては以下ページをご覧ください。
⇒ [jqGrid] 主要オプション一覧