Datatables 确认抽签已完成

Datatables 确认抽签已完成,datatables,datatables-1.10,Datatables,Datatables 1.10,我创建了一个自定义按钮,允许用户选择要输出到CSV的列,因此该按钮不会作为表初始化的一部分创建。我有一个模式,弹出复选框创建的列标题的选择。值得注意的是,我在每个列标题上都有regex搜索。问题是我使用的是服务器端处理,因此,仅导出的行是那些可见的行。作为一种解决方法,我将其设置为获取page.info().records显示并将页面长度设置为该值,然后绘制。模式弹出并表示一旦表被完全填充,它将从服务器加载数据。模式的HTML将更改为复选框以便导出。导出后,表格将恢复为默认长度。我需要做的是捕获

我创建了一个自定义按钮,允许用户选择要输出到CSV的列,因此该按钮不会作为表初始化的一部分创建。我有一个模式,弹出复选框创建的列标题的选择。值得注意的是,我在每个列标题上都有regex搜索。问题是我使用的是服务器端处理,因此,仅导出的行是那些可见的行。作为一种解决方法,我将其设置为获取page.info().records显示并将页面长度设置为该值,然后绘制。模式弹出并表示一旦表被完全填充,它将从服务器加载数据。模式的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();

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

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


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

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

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


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

过滤不是问题所在,而是由于服务器端处理,我必须加载表中的所有行才能获取要导出的所有数据。可能只需要研究某种直接的数据库连接。将比尝试将数据加载到表中更快。是否没有一个函数可以在应用搜索的情况下通过API导出所有数据?编辑了我的答案,忽略了有关服务器端处理的关键点。问题不在于筛选,而是由于服务器端处理,我必须加载表中的所有行,以便获取要导出的所有数据。可能只需要研究某种直接的数据库连接。将比尝试将数据加载到表中更快。是否没有一个函数可以在应用搜索的情况下通过API导出所有数据?编辑了我的答案,但错过了有关服务器端处理的关键点。