簡體   English   中英

動態設置jquery數據表列的數據源

[英]Dynamically set datasource for jquery datatable columns

有沒有一種方法可以動態設置datatable列的數據源? 就像我通過像這樣對每個屬性名稱進行硬編碼來設置columns.data

$.ajax({
    data: JSON.stringify(data),
    url: urlGetProviderQualificationTimeData,
    type: 'POST',
    contentType: "application/json; charset=utf-8",
    success: function (obj) {
        if (obj.success) {
            $('#tblProds').dataTable({
            data: obj.data.ProdsDetails,
            columns: [
                { "data": "PName" },
                { "data": "PTime" }  //hardcoded mapping of properties     
            ]
            });
        }
    },
});

ProdsDetails示例數組:

Array[2]
0:Object
    PName:"ATT",
    PTime:"6.48"   
1:Object
    PName:"CENTURYLINK",
    PTime:"3.67"

有沒有辦法擺脫這種對屬性和列的硬編碼映射?

這是您的數組:

var array=[
             {PName:"ATT",PTime:"6.48" },
             {PName:"CENTURYLINK",PTime:"3.67"}
          ];

現在,您應該獲得所有keys並構建最終數組:

var obj=array[0];
var keys=[];
for(var k in obj) 
    keys.push({"data":k});

現在, keys數組如下所示:

[
   {"data":"PName"},
   {"data":"PTime"}
]

最后一步是將數組分配給DataTable columns屬性:

columns:keys

現在看起來應該像這樣:

columns:[
          { "data": "PName" },
          { "data": "PTime" }    
]

希望這可以幫助 !。

我有同樣的問題,並通過為columns.data屬性創建一個額外的json數組來解決此問題。 用於通過php函數遍歷標頭並將其放入json數組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM