2016-07-20 20 views
1

こんにちは、人口サーバー側の処理テーブルのjqueryデータテーブル1.9.4を使用しています。データが正しく読み込まれています。ページ区切りが期待どおりに機能していません。実際には enter image description herejquery datatableページ番号がページ数を表示しない

var sTableAllCustomers = $('#tblAllCustomers').dataTable({ 
       "bDestroy": true, 
       "bProcessing": true, 
       "bServerSide" : true, 
       "bLenthChange" : false, 
       "iDisplayLength": 5, 
       "aLengthMenu": [[5, 10, 25, 50, -1], [5, 10, 25, 50, "All"]], 
       "sPaginationType" : "full_numbers", 
       "sAjaxSource" : "loadAllCustomers", 
       "oLanguage" : { 
        "sSearch" : "Search By Email ID:" 
       }, 
       "aoColumns" : [ 
       {"sTitle" : "No.","mData" : null,"aTargets": [ 0 ], 
        "fnRender" : function(obj) { 
         var columnIndex = obj.oSettings._iDisplayStart + obj.iDataRow+1 
         return columnIndex; 
        } 
       }, 
       {"sTitle" : "Email ID","mData" : "email", "bSearchable" : true}, 
       {"sTitle" : "Devices","mData" : "device", "bSearchable" : false}, 
       {"sTitle" : "App Edition","mData" : "edition", "bSearchable" : false}, 
       {"sTitle" : "Account Type","mData" : "accountType", "bSearchable" : false}, 
       {"sTitle" : "Activated Date","mData" : "activatedDate", "bSearchable" : false}, 
       {"mData" : "id", "bSearchable": false, 
        "mRender": function (data, type, full) { 
         return '<a id="'+data+'" datakey="'+full['key']+'" class="btnViewMoreInAllCustomers btn tooltipped more color-sec" data-tooltip="More" data-position="left"> <i class="mdi-notification-more"></i></a>'; 
         } 
       } 
       ], 
        "fnServerData" : function(sSource, aoData, fnCallback) { 
        $.ajax({ 
        "dataType" : 'json', 
        "type" : "GET", 
        "url" : sSource, 
        "data" : aoData, 
        "success" : fnCallback 
        }); 
        }, 
      }); 

あなたが同じ値を持つ2つのパラメータiTotalRecordsiTotalDisplayRecordsを初期化している

int totalListSize = modals != null ? modals.size() : 0; 
     CustomerDataTableObject dataTableObject = new CustomerDataTableObject(); 
     // the total data in db for datatables to calculate page no. and 
     // position 
     dataTableObject.setiTotalDisplayRecords(totalListSize); 
     // the total data in db for datatables to calculate page no. 
     dataTableObject.setiTotalRecords(totalListSize); 
     dataTableObject.setsEcho(Integer.parseInt(request.getParameter("sEcho"))); 
     dataTableObject.setAaData(modals); 
     Gson gson = new Gson(); 
     String json = gson.toJson(dataTableObject); 

答えて

1

サーバー側のコードを動作していない30以上の行と次の、前の、ページ番号を持っています変数totalListSizeに格納されます。しかし、変数totalListSizeには返されるレコードの数が格納されますが、データベース内のレコードの総数を保持する必要があります。 documentationから

iTotalRecords

合計記録、フィルタリング前(つまり、データベース内のレコードの合計数)

iTotalDisplayRecords

合計記録、フィルタリング後(つまり、フィルタリングが適用された後のレコードの総数 - 返されるレコードの数だけでなくこの結果セット)

あなたは別にデータベース内のレコードの合計数を計算し、iTotalRecordsiTotalDisplayRecordsに割り当てる必要があります。ご支援のための

{ 

    "sEcho": 1, 
    "iTotalRecords": 30, 
    "iTotalDisplayRecords": 30, 
    "aaData": [ 
     { 
      "DT_RowId": "row_8", 
      "DT_RowClass": "gradeA", 
      "0": "Gecko", 
      "1": "Firefox 1.5", 
      "2": "Win 98+/OSX.2+", 
      "3": "1.8", 
      "4": "A" 
     }, 
     // ... 4 more entries ... 
    ] 
} 
+0

感謝:あなたは30レコードを持っているだけ5が1ページに表示することができた場合

たとえば、あなたの応答は次のようになります。テーブルのレコードサイズでiTotalRecordsを変更しました。しかし、まだ1ページの番号が底に表示されていない、実際に私は30レコードを持っています。 – boycod3

関連する問題