我不知道这是否是一个错误,但我有一个带有以下选项的数据表+ajax:
"bServerSide": true,
"sAjaxSource": url,
"fnServerData": function (sSource, aoData, fnCallback) {
jQuery.ajax({
"dataType": 'json',
"type": "POST",
"url": sSource,
"data": aoData,
"success": fnCallback
});
},
"sPaginationType": "bootstrap",
"aoColumns": [
{ "sName": "Id", "sType": 'numeric', "bVisible": false },
{ "sName": "PostingDate", "sType": 'Date' },
{ "sName": "Userid", "sType": 'string', "bVisible": false },
{ "sName": "DisplayName" },
{ "sName": "Description" },
{ "sName": "MainTag" },
{ "sName": "Tags" },
{ "sName": "HowMuch" }
]
我有一个表单,用户可以在其中添加行,当他们提交它时,我使用 ajax 调用将数据添加到数据库,然后调用: jQuery('#mydatatable').dataTable().fnReloadAjax();
当用户单击按列“MainTag”对表进行排序时,我的服务器端 ajax 收到:
iSortCol_0 4
iSortingCols 1
所有 bSortable_# 都在那里,正确地从 0 到 7(我有 8 列,如上所示。
现在我的问题是 iSortCol_0 具有误导性,因为隐藏的列,如果我不知道服务器上隐藏了哪些列,我会误解 iSortCol_0=4 按错误列排序。
我可以实现一种解决方法,将在外部显示或隐藏哪些列的信息发送到数据表,但我感觉要么我做错了,要么我错过了在文档中找到我的问题的答案。