2017-06-13 71 views
0

我試圖實現服務器端分頁理念,爲我的表(jQuery的(v1.12.4),數據表(v1.10.15))無法將數據加載到數據表中使用服務器端分頁

按數據表服務器端分頁文檔

我已經啓用Serverside集團分頁處理真實與指定的sPaginationType與阿賈克斯一起。

Custom Data Source Property article中,提到我們需要使用dataSrc Option作爲字符串來獲取來自不同源屬性的數據,在本例中爲demo,但它可以是任何值,通過使用嵌套屬性標準的點狀Javascript對象表示法。

我已經根據上述要點使用了dataSrc,即基於我的json響應的「dataSrc」:「data」

但是數據未被加載。

我的表只載入批准按鈕(我已經在列部分中定義)其餘列是空的。 - 召集數據不在表格中呈現。

Refer Output 2 image

由於我已經使用延期加載第一頁返回空數據。請參閱輸出1圖像。

我剛纔提到的所有下面提到的文章

Custom data source property dataSrc and pagination issue

Datatables server side processing pagination issue

的代碼如下所示片斷,請大家幫忙

$('#vschildtable').DataTable({ 
     "language": { 
      "processing": "Please 
      wait - LOADING SCAN Result...", " 
      emptyTable " : " 
      Currently no 
      data found in this project " }, " 
      bJQueryUI " : true, " 
      paging " : 
      true, 
      "sPaginationType": "full_numbers", 
      "processing ": true, 
      "serverSide": true, 
      "columns": [{ 
        "defaultContent": "", 
        "visible": false 
       }, { 
        "defaultContent": "", 
        "visible": false 
       }, { 
        "defaultContent": "" 
       }, { 
        "defaultContent": "" 
       }, { 
        "defaultContent": "" 
       }, { 
        data: null, 
        defaultContent: ' < 
         button type = "button" 
        class = "btn-approve label label-link bg-green " > Approve < /button> 
        ' } ], "deferLoading" : 57, "ajax" : { "url" : "emppage?empID=" + 
        encodeURIComponent(empID) + "&projectId=" + 
        encodeURIComponent(projectID) + "&subProjectId=" + 
        encodeURIComponent(subProjectID) + "&pageNo=" + 
        encodeURIComponent(offset), 
        type: 'POST', 
        datatype: "jsonp", 
        "dataSrc": "data" 
       } 
      }); 

JSON響應:

[{ 
    "message":"SUCCESS", 
    "data":"{\"data\":\[{\"projectId\":1,\"subProjectId\":1,\"empID\":765,\"empName\":\"Arjun\",\"empIDVersion\":\"1%3A4.1.4\",\"fkempID\":7781,\"tmpempID\":354999,\"noOfDept\":1,\"rowNo\":1,\"totalnoOfDept\":1},{\"projectId\":1,\"subProjectId\":1,\"empID\":765,\"empName\":\"Arjun\",\"empIDVersion\":\"4.0.18.1\",\"fkempID\":7781,\"tmpempID\":355000,\"noOfDept\":1,\"rowNo\":2,\"totalnoOfDept\":1},{\"projectId\":1,\"subProjectId\":1,\"empID\":765,\"empName\":\"Arjun\",\"empIDVersion\":\"4.2.1\",\"fkempID\":7781,\"tmpempID\":355001,\"noOfDept\":1,\"rowNo\":3,\"totalnoOfDept\":1}\]}" 
}] 
+0

有什麼錯誤?服務器代碼? – Sebastianb

回答

0

就我所見,服務器返回的數據中缺少信息。 DataTables在服務器端模式下運行時需要服務器的某些特定數據(draw,recordsFiltered等)。您可以檢查here

此外,您應該columns陣列中的data屬性添加到每個對象,指定您希望在該列來呈現數據,即名稱:

columns:[ 
    { data:'projectId' } 
    { data:'subPorjectId'} 
    ... 
] 

這告訴數據表哪些數據顯示在哪一列。

希望它有幫助!

相關問題