我在asp mvc中实现了一个jquery数据表。正确获取记录,并且排序正常工作。数据表通过服务器端运行。
然而,我遇到了一个小问题。当我在数据表的第3页上时,我执行排序但是数据表刷新,返回到第1页并且仅对第1页上的记录进行排序。我想要实现的是仅在当前页面上进行排序。
我尝试将stateSave
改为true
,但问题仍然存在。
var table = $('#employeetable').DataTable({
"ajax": {
"url": "/Employee/GetList",
"type": "POST",
"datatype": "json"
},
"columns": [
{ "data": "Name", "name": "Name" },
{ "data": "Office", "name": "Office" },
{ "data": "Position", "name": "Position" },
{ "data": "Age", "name": "Age" },
{ "data": "Salary", "name": "Salary" },
],
"serverSide": true,
"order": [0, "asc"],
"processing": true,
"stateSave": true
});
有人可以帮忙解决这个问题吗?
答案 0 :(得分:0)
使用DataTables排序时,可以对整个数据集进行排序,而不仅仅是可见值。因此,排序顺序的任何更改自然会成为新列表,因此会返回到第1页。不可能只在当前页面内进行搜索,从而保持分页相同。请参阅此主题here,其中详细说明了为什么这不是(并且不应该)。