2015-10-13 80 views
0

我使用datatables.net用於創建數據表(jQuery的)數據表的初始化 - 爲防止2號後回傳

我試圖創建DINAMIC從服務器端的數據表我(DT)頭的需要。發生什麼事情是,在我得到數據和列標題信息的第一篇文章後,我有第二篇文章到服務器(這是不相關的,因爲我已經有我的數據)。所以我禁用它,但後來我的DT沒有正確初始化 - 我失去了「導航按鈕和分頁信息顯示爲-1 -1的總記錄的示例1

是否有任何方法來防止第二次回發,但有一個「適當的」 DT初始化?在這一點上我需要設置oTable.fnDraw(假),以保持一個正確的初始化

this.initialize = function() { 

    internalHtmlID = getHtmlIdentifier(id); 

    $.ajax({ 
     method: "GET", 
     url: url 
    }) 
    .done(function (data) { 
     internalHtmlID = getHtmlIdentifier(id); 
     var oTable = $('' + internalHtmlID + '').dataTable({ 
      "aaSorting": [[0, "desc"]], 
      "bServerSide": true, 
      "processing" : true, 
      "deferLoading": -1, 
      "aaData": data.aaData, 
      //"aaData": null, 
      "aoColumns": data.aoColumns, 

      "ajax": { 
       "url": url, 
       "dataType": "json" 
      } 

     }); 
     oTable.fnDraw(false); 
    }) 
    .fail(function (msg) { 

    }); 
}; 

回答

0

SOLUTION

你可能想廁所k使用deferLoading來延遲服務器端數據的加載直到第二次繪製。

var oTable = $('' + internalHtmlID + '').dataTable({ 
    "aaSorting": [[0, "desc"]], 
    "bServerSide": true, 
    "processing" : true, 
    "deferLoading": data.iTotalRecords, 
    "aaData": data.aaData, 
    "aoColumns": data.aoColumns, 
    "ajax": { 
     "url": url, 
     "dataType": "json" 
    } 
}); 

DEMO

示範

+0

this jsFiddle該死。 我有它,但將其設置爲-1(愚蠢的錯誤) –

+0

@ dr.Xis,更正了我的代碼,出現了一個錯字。 –