[英]How to refresh DataTable with server side processing and Scroller extension
I was tried to use these approaches: 我尝试使用以下方法:
My TypeScript code: 我的TypeScript代码:
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); } }
I didn't find any other way as get scrollTop
of scroller before ajax call and after table refresh ( api().ajax.reload
) assign it again. 在ajax调用之前和表刷新后( api().ajax.reload
)再次分配它,我没有找到其他任何方法来获取滚动器的scrollTop
。 It's works for me. 对我有用。
Datatable automatically refresh (with updated data) on server side operation, no need to force refresh. Datatable在服务器端操作时自动刷新(使用更新的数据),无需强制刷新。
$(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
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.