首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >确认抽奖已完成

确认抽奖已完成
EN

Stack Overflow用户
提问于 2019-02-12 00:39:18
回答 1查看 29关注 0票数 1

我已经创建了一个自定义按钮,它将允许用户选择要输出到CSV的列,这样该按钮就不会作为表初始化的一部分创建。我有一个弹出的模式,从列标题中创建复选框供选择。值得注意的是,我在每个列标题上都有正则表达式搜索。问题是我使用的是服务器端处理,因此导出的行都是可见的。作为一种变通方法,我将其设置为获取page.info().recordsDisplay,并将页面长度设置为该值并进行绘制。该模式弹出并说明它正在从服务器加载数据,一旦表填满,该模式的HTML将更改为用于导出的复选框。导出后,表格将恢复为默认长度。我需要做的是捕获行被完全呈现的时间,这样我就可以进行HTML切换。现在我正在设置超时。填充数据可能需要一段时间,因为如果现在应用搜索,则大约有13k行。最好的方法是什么?有没有更有效的方法?

代码语言:javascript
复制
    var tableHeaders = [];
    var table = $('#example').DataTable().columns().every( function () {
        tableHeaders.push( $(this.header()).text() );
    });
    var pageLength = table.page.info().length;
    table.context['0']._iDisplayLength = table.page.info().recordsDisplay;
    table.draw();
EN

回答 1

Stack Overflow用户

发布于 2019-02-12 20:50:51

服务器端处理参数start/length可能存在问题,这些参数定义了每次绘制时从服务器请求的数据部分。

如果您的源数据有大量的行,那么它们很可能不会一次全部发送,以利用服务器端处理。因此,您可以尝试操作这些参数。

或者,您可以尝试使用在每次重绘时触发的draw事件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54635156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档