[英]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.