我是数据表的新手。我试图找到自过去两天以来服务器端处理的解决方案,但没有找到解决方案。
我的JS代码是
this.$("#example").DataTable({
"processing": true,
"serverSide": true,
"ajax": "../employees.json",
"columns": [{
"data": "Name"
}, {
"data": "Age"
}, {
"data": "Country"
}, {
"data": "Address"
}, {
"data": "Married"
}]
});
Datatable以表格格式呈现JSON。但排序,分页和搜索操作无效。它显示了第一页上的所有结果,无论我从下拉列表中选择了多少值
同样在底部显示消息,如"显示0到0的0个条目(从NaN总条目中过滤掉)"
如果我传递serverSide:false。一切正常。但我希望服务器端处理相同的
任何帮助将不胜感激
答案 0 :(得分:1)
当您将serverSide设置为true时,您告诉DataTables服务器将处理所有排序和分页而不是DataTables。 DataTables只会从服务器上按原样显示数据。
因此,如果您的服务器忽略了从DataTables发送的所有排序和分页参数,那么数据看起来很有趣。 (在您的情况下,无论请求的页面大小如何,服务器似乎都列出了所有记录。)
您有两种选择:
答案 1 :(得分:1)
在你的json表单的返回中必须有这些:
iTotalRecords : (Total rows),
iTotalDisplayRecords : (Total rows to display in your grud),
aaData : {(Your data)}.
适合我。
答案 2 :(得分:0)
Ther是您必须设置的一些选项
e.g
MainWindow
答案 3 :(得分:0)
这可能会迟到但您可以使用fnInfoCallback,例如:
"fnInfoCallback": function( oSettings, iStart, iEnd, iMax, iTotal, sPre ) {
if (isNaN(iTotal)) {
return '';
}
return "Showing " + iStart +" to "+ iEnd + " of " + iTotal + " entries";
},