2016-03-21 20 views
0

Es folgt der HTML-Code:Datentabelle zeigt falsche Seitenzahlen

<table id="myTable" class="dTable1 contentList table table-bordered" style="z-index: 2; "> 

       <thead id="tableHeader"> 
        <tr id="headerRow"> 
         <th>Time</th> 
         <th>Event</th> 
         <th>Description</th> 
        </tr> 
       </thead> 
       <tbody> 
       </tbody> 
      </table> 

ich in der Tabelle auf Popup geöffnet mit folgenden JavaScript-Code am Initialisierung:

showHistory = function (contentID) { 
      debugger; 
      var auditRes; 
      //var oTable = $('#AuditListtable').dataTable(); 
      //oTable.fnDestroy(); 
      //alert("outside"); 
      $('#AuditListtable').dataTable({ 
       "sAjaxSource":SERVERURL?contentId=' + contentID, 
       "aoColumns": [ 
      { "mData": "AccessDate" }, 
      { 
       "mData": "EventDescription", 
       "bSortable": false 
      }, 
      { 
       "mData": "IPAddress", 
       "bSortable": false, 
       "mRender": function (data, type, row) { 
        debugger; 
        return '<td> <span title="' + data + '">Played By: ' + row.FirstName + ', IP Address: ' + data + '</span></td>'; 
       } 
      } 
       ], 
       "paging": true, 
       "sDom": '<"top"p<"clear">>rt', 
       "sPaginationType": "full_numbers", 
       "searching": false, 
       "bFilter": false, 
       "processing": true, 
       "bServerSide": true, 
       "order":true, 
       "sServerMethod": "POST", 
       "bAutoWidth": false, 
       "iDisplayLength": 8 


      }); 
      $('#historyPopup').modal('show'); 

     } 

Die Daten werden in der Pop-up aufgefüllt werden. Momentan haben wir insgesamt 9 Datensätze, aber die Seitennummerierung zeigt 5 Seiten. Nachdem Sie auf eine andere Seite geklickt haben, wird der vorherige Datensatz angezeigt. Tabelle wird nicht aktualisiert.

enter image description here

+1

Sie haben die serverseitige Verarbeitung mit '" bServerSide ": true' aktiviert. Höchstwahrscheinlich ist Ihre Antwort falsch. Wenn Sie in der Tat eine serverseitige Verarbeitung wünschen, sollte Ihre Antwort etwa folgendes enthalten: "iTotalRecords": "9", "iTotalDisplayRecords": "9". Bitte posten Sie Ihre JSON-Antwort vom Server. –

+0

@ Gyrocode.com Das Problem war mit der Antwort. Die Antwort war iTotalRecords anstelle von iTotalDisplayRecords. Auch der Wert von sEcho war fest codiert. Können Sie bitte Ihre Vorschläge als Antwort geben? –

Antwort

0

Sie haben die serverseitige Verarbeitung mit "bServerSide": true aktiviert. Höchstwahrscheinlich ist Ihre Antwort falsch.

Wenn Sie in der Tat die serverseitige Verarbeitung wollen, sollten Sie Ihre Antwort so etwas wie:

{ 
    "sEcho": 1, 
    "iTotalRecords": 9, 
    "iTotalDisplayRecords": 9, 
    "aaData": [ 
     // ... skipped ... 
    ] 
} 

wo sEcho den Wert von sEcho Parameter aus dem Wunsch haben sollte, iTotalRecords ist Anzahl aller Datensätze vor der Filterung, und iTotalDisplayRecords ist die Anzahl aller Datensätze nach die Filterung.

Weitere Informationen finden Sie unter server-side processing.