【问题标题】:DataTables - CSV Only Exports Current RowsDataTables - CSV 仅导出当前行
【发布时间】:2016-07-08 09:58:08
【问题描述】:

我有以下代码

 <script type="text/javascript">
            $(document).ready(function() {
            $('#example').DataTable( {
                "processing": true,
                "serverSide": true,
                "ajax": "/functions/ajax.asp",
                "ordering": false,
                "bFilter": false,
                "dom": "<'row' <'col-md-12'B>><'row'<'col-md-6 col-sm-12'l><'col-md-6 col-sm-12'f>r><'table-scrollable't><'row'<'col-md-5 col-sm-12'i><'col-md-7 col-sm-12'p>>", // horizobtal scrollable datatable
                buttons: [
                'copy', 'csv', 'excel', 'pdf', 'print'
            ]
                } );
        } );
            </script>

我有大约数百行,但是当我选择 CSV 等选项时,它只导出屏幕上的内容。

有什么想法吗?

谢谢

【问题讨论】:

标签: javascript jquery datatables


【解决方案1】:

这里的问题是您使用的是服务器端处理,因此客户端 dataTables 插件只能访问要导出的屏幕上的数据!您必须进行一些自定义才能从服务器获取此数据。

查看此帖子以获取快速示例:Server side excel export with DataTable

【讨论】:

    【解决方案2】:

    这是 DataTables 中导出按钮的预期行为。他们总是简单地导出当前显示在屏幕上的数据。如果您想允许用户导出所有数据(并且不想编写自定义导出函数 - 如果您这样做,请参阅 @Adam 的答案),请考虑在您的 DataTable 中添加 lengthMenu 选项。这将允许用户更改每页显示的记录数,这反过来又可以让他们显示/导出所有记录。 lengthMenu 参数的语法如下。

    "lengthMenu": [ [10, 25, 50, -1], [10, 25, 50, "All"] ]
    

    第一个数组显示每个选项要显示的记录数(在本例中为 10、25、50 和全部(-1 为全部)),第二个数组是应显示在用户下拉列表中的内容菜单。

    有关该主题的更多详细信息,请参阅this stack overflow question

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-11
      • 2021-12-11
      • 1970-01-01
      • 2011-10-01
      • 2021-02-21
      • 2017-02-15
      相关资源
      最近更新 更多