【问题标题】:DataTable server side script for export all filterered data用于导出所有过滤数据的 DataTable 服务器端脚本
【发布时间】:2015-08-19 11:21:41
【问题描述】:

我正在使用数据表服务器端脚本从表中获取数据。我在数据库表中有 500,000 条记录。我想使用数据表 tableTool 插件导出所有 500,000 条记录。现在我可以以分页限制导出当前页面数据。

var otable = $('#datatable_fixed_column').DataTable({           
        "bProcessing": true,
        "serverSide":true,          
                 "ajax": "index.php?c=datadownload&m=getalldata",
        "sDom": ""+
                "<'dt-toolbar'<'col-xs-12 col-sm-6'l><'col-sm-6 col-xs-6 hidden-xs'T>>"+
                "t"+
                "<'dt-toolbar-footer'<'col-sm-6 col-xs-12 hidden-xs'i><'col-sm-6 col-xs-12'p>>",

        "oTableTools": {
             "aButtons": [
                {
                    "sExtends": "copy",
                    "mColumns": [0,1,2],
                    "oSelectorOpts": {filter: 'applied', order: "current"}
                },             

               {
            "sExtends": "csv",
                    "mColumns": [0,1,2],
                    "sTitle":"Category Data",
                    "oSelectorOpts": {filter: 'applied'},

                },

                {
                    "sExtends": "xls",
                    "mColumns": [0,1,2],
                    "sFileName":"*.xls",
                    "sTitle":"Category Data",
                    "oSelectorOpts": {filter: 'applied', order: "current" }
                },             

             ],
            "sSwfPath": baseUrl+"public/plugins/datatables/swf/copy_csv_xls_pdf.swf"
        },
        "aoColumns":[


            {
                "mData":"data1",
                "sName":"data1",
                "sTitle":"data1"

            },
            {
                "mData":"data2",
                "sName":"data2",
                "sTitle":"data2"
            },
                 {
                        "mData":"data3",
                        "sName":"data3",
                        "sTitle":"data3"
                 }





        ],
        "autoWidth" : true

    });     

【问题讨论】:

    标签: php codeigniter datatable datatables


    【解决方案1】:

    http://legacy.datatables.net/ref

    //How many results to show per page, set this to enough to show them all then export 
    
    "aLengthMenu": [[10, 25, 50, 100, 500, 1000], [10, 25, 50, 100, 500, 1000]]
    

    【讨论】:

      【解决方案2】:

      你可以适当地使用lengthMenu。

      允许无限数量的记录 Limit -1Limit null 可以使用长度菜单指定。

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

      "lengthMenu" : [[10, 25, 50, 100, null], [10, 25, 50, 100, "All"]]
      

      另一种方法是使用尽可能高的 int/bigint 值。

      "lengthMenu" : [[10, 25, 50, 100, 4294967295], [10, 25, 50, 100, "All"]]
      

      【讨论】:

      • 您是否尝试在浏览器中显示 500,000 条记录表?我认为这不是一个好主意。
      猜你喜欢
      • 2011-04-16
      • 1970-01-01
      • 2016-06-04
      • 1970-01-01
      • 2017-06-01
      • 1970-01-01
      • 2015-04-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多