我有一个数据表设置为从服务器读取JSON。然而,其中一列应按其隐藏索引与屏幕上显示的内容进行排序。
这就是我要显示的表格:
$("#ad-table").dataTable({
"lengthMenu": [[100, 50, 25], [100, 50, 25]],
"ajax": {
"url": "assessmentsduetable?peid="+peId,
"dataSrc": ""
},
dom: 'Bfrtip',
"buttons": ['print', 'pageLength'],
"order": [[4, "asc"]],
"columns": [
{ "data": "Consumer ID" },
{ "data": "Last Name" },
{
"data": {
_: "WindowNameInfo.WindowDue",
sort: "WindowNameInfo.WindowDueIndex"
}
},
{ "data": "Window End Date" },
{ "data": "Days Left In Window" },
{ "data": "Assessment Name" },
{ "data": "Date of Last Assessment" },
{ "data": "# of Assessments" },
{ "data": "Clinician" },
{ "data": "Clinic" }
]
});
});
问题出在WindowNameInfo.WindowDue和WindowNameInfo.WindowDueIndex上。出于某种原因,它似乎是在WindowDueIndex上进行排序,就好像它是一个字符串,即使它是一个整数。但是,当我这样做时:
"data": {
_: "WindowNameInfo.WindowDue",
sort: "WindowNameInfo.WindowDueIndex",
type: "int"
}
我收到以下错误:
DataTables警告:table id = ad-table - 请求的未知参数 第0行第2列的“[object Object]”。有关此内容的详细信息 错误,请参阅http://datatables.net/tn/4
然后它加载表并且排序是正确的!
答案 0 :(得分:0)
结果显示type选项告诉DataTables在哪里获取用于类型检测的数据。
所以答案是:
...
"data": {
_: "WindowNameInfo.WindowDue",
sort: "WindowNameInfo.WindowDueIndex",
type: "WindowNameInfo.WindowDueIndex",
}
...