如何使用服务器端处理和滚动扩展刷新DataTable
How to refresh DataTable with server side processing and Scroller extension
我尝试使用这些方法:
- 使用api().draw(false)函数,但它会重置滚动偏移量。
- 使用api () . ajax。重载(null,假)。它也会重置滚动偏移量。
- 使用dataTable._fnDraw()函数。它也不起作用。有一个错误,当你正在尝试一点滚动和之后_fnDraw()调用它滚动到以前的位置。当你滚动很多-它工作得很好
var dataTableOptions = {
serverSide: true,
ordering: true,
searching: true,
columns: [
{ "data": "id" },
{ "data": "workflowId" },
{ "data": "discovery" },
{ "data": "title" },
{ "data": "createdBy" },
{ "data": "createDate" },
{ "data": "status" }
],
ajax: (data, callback, settings) => {
// server side service call
},
dom: 'rtiS',
scrollY: 400,
scroller: {
rowHeight: 35,
loadingIndicator: true
},
initComplete: function () {
forceRefresh = _.throttle(() => {
//this.api().ajax.reload(false);
this._fnDraw();
}, 1000);
setInterval(() => {
forceRefresh();
}, 5000);
}
}
我没有找到任何其他方法,因为在ajax调用和表刷新(api().ajax.reload
)之后再次分配它之前获得scrollTop
的滚动。
数据表自动刷新(更新后的数据)在服务器端操作,无需强制刷新
$(document).ready(function() {
var dataTableOptions = {
serverSide: true,
ordering: true,
searching: true,
columns: [
{ "data": "id" },
{ "data": "workflowId" },
{ "data": "discovery" },
{ "data": "title" },
{ "data": "createdBy" },
{ "data": "createDate" },
{ "data": "status" }
],
ajax: (data, callback, settings) => {
// server side service call
},
dom: "frtiS",
scrollY: 400,
deferRender: true,
scroller: {
rowHeight: 35,
loadingIndicator: true
}
}
相关文章:
- 强制模板刷新ember.js
- 如何通过ajax刷新JSF填充的javascript变量
- Node.js v6.2.0类扩展不是函数错误
- 扩展移相器按钮类不工作
- chrome扩展中的navigator.geolocation.getCurrentPosition
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- chrome扩展更改主机/域警告
- TableExport jquery插件:文件名和扩展名问题
- 在页面加载/刷新时在后台运行扩展
- 隐藏系列,然后刷新图表扩展
- Chrome 扩展程序,每分钟刷新一次页面,并在每次刷新时运行 (javascript) 脚本
- Chrome扩展本应在所有Facebook页面上运行,但只有当我点击刷新时才会运行
- 刷新chrome扩展的图标更改
- 刷新窗口时获取URL;不适用于Chrome扩展
- 我的chrome扩展将不会加载,直到我重新加载/刷新相同的YouTube视频页面再次
- Chrome扩展:保留模态窗口时,页面刷新
- Chrome扩展只运行在刷新,而不是在页面导航
- Chrome扩展重定向到列表页面刷新的内容
- 如何使用服务器端处理和滚动扩展刷新DataTable
- Chrome扩展:如何根据标签的标题刷新标签