确认抽奖已经完成

问题描述 投票:1回答:1

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

    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();
datatables datatables-1.10
1个回答
0
投票

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

如果您的源数据具有大量行,则很可能不会一次性发送它们以使用服务器端处理。因此,您可以尝试操纵这些参数。

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

© www.soinside.com 2019 - 2024. All rights reserved.