1

我使用 DataTables 编辑器插件 ( https://editor.datatables.net/ )在内联模式 ( https:// editor.datatables.net/examples/inline-editing/simple.html

在编辑、提交某个字段并返回来自编辑器的服务器处理程序的响应后,表总是完全重新加载,向服务器发送一个额外的 AJAX 请求,即使没有必要这样做,因为只有一行中的一个字段被更改并且重绘表格行所需的所有数据都已在先前的内联编辑响应中收到。

所以问题是是否有可能摆脱额外的 AJAX 调用并仅重绘已编辑的行,而不是完全刷新整个表格。

负责重新加载的代码是:

// dataTables.editor.js

Editor.prototype._submit = function ( successCallback, errorCallback, formatdata, hide )
{
...
    // Submit to the server (or whatever method is defined in the settings)
    this._ajax(
        submitParams,
        function (json) {
        ...
            // the following line forces the table to completely reload
            that._dataSource( 'commit', action, modifier, json.data, store );
        ...
        }
    )
...
}
4

1 回答 1

0

这是来自数据表论坛 的答案:

是的,您可以在 form-options 对象中将 drawType 选项设置为 none(例如,传递给 inline() 的第二个可选参数。这将阻止 DataTables 进行重绘(在涉及服务器端处理的情况下) Ajax 请求)。这确实意味着任何由数据更改引起的排序或过滤更改都不会立即显示出来
。Allan

于 2017-02-17T16:30:41.587 回答