datatable 后端服务器分页实现

 ps.v_i = '1';
    //后端分页
    if ($.fn.dataTable.isDataTable('#' + table_id))
        table2 = $('#' + table_id).DataTable().destroy();
    $.fn.dataTable.ext.errMode = 'throw';
    $('#' + table_id).DataTable({
        "language": {
            "emptyTable": "无数据",
            "processing": "加载中",
            "paginate": {
                "first": "First",
                "last": "Last",
                "next": "下一页",
                "previous": "上一页"
            }
        },
        processing: true,
        serverSide: true,
        ordering: false,
        order: [],
        pageLength: 20,
        info: false,  
        //dom: 'Bfrtip',
        //buttons: ['copy', 'excel',  {
        //    extend: 'pdfHtml5',
        //    text: 'pdf',
        //    exportOptions: {
        //        modifier: {
        //            page: 'all'
        //        }
        //    }
        //}],

        searching: false,          
        ajax: function (data, callback, settings) {
           // var sortinfo = DatablesExtend.getSortInfo(data, settings);
            //if (sortinfo != null) {
            //    $.extend(personQueryCondition, sortinfo);
            //}
          //  console.log(settings._iDisplayStart / settings._iDisplayLength + 1);
            var currentPage = settings._iDisplayStart / settings._iDisplayLength + 1;
            ps.v_i = currentPage.toString();
            $.ajax({
                type: "POST",
                url: '/sys_manage/report/Open',
                data: ({
                    name: "r$abnormal_order_update", ps: JSON.stringify(ps),
                }),  //传入组装的参数
                //contentType: "application/json;",
                //dataType: "json",
                success: function (data) {
                    result = data;
                    var bodydata = JSON.parse(result.data);
                    if (settings._iDisplayStart == 0)
                        ajaxComplete--;
                    if (ajaxSend + ajaxComplete == 0)
                        $('.loading-shadow').addClass("hidden");
                    if (result.code == '0' && bodydata.length>0) {
                        //var json = {};
                        //json.draw = data.draw;
                        //json.recordsTotal = 57;
                        //json.recordsFiltered = 57;
                        //json.data = JSON.parse(result.data);
                        //return json;
                        callback({
                            draw: settings.isDraw,
                            data: bodydata,
                            //idnum为总条数
                            recordsTotal: bodydata[0].idnum,
                            recordsFiltered: bodydata[0].idnum
                        });

                    } else {
                        callback({
                            draw: settings.isDraw,
                            data: bodydata,
                            //idnum为总条数
                            recordsTotal: 0,
                            recordsFiltered: 0
                        });

                    }
              


                }
            });
        },
        columns: [ { "data": "doortype" },
            { "data": "归属代理商" },
            { "data": "归属门店" },
            { "data": "会员卡号" },
            { "data": "会员手机号" },
            { "data": "会员姓名" },
            //{ "data": "订单数" },
            //{ "data": "总金额" },
            {
                "data": function (row, type, set) {
                    return row["订单数"].toLocaleString();
                }
            },
            {
                "data": function (row, type, set) {
                    return row["总金额"].toLocaleString();
                }
            },
            //{ "data": "总件数" },
            //{ "data": "剩余积分" },
            //{ "data": "已使用积分" },
            {
                "data": function (row, type, set) {
                    return row["总件数"].toLocaleString();
                }
            },
            {
                "data": function (row, type, set) {
                    return row["剩余积分"].toLocaleString();
                }
            },
            {
                "data": function (row, type, set) {
                    return row["已使用积分"].toLocaleString();
                }
            },
        ],


    });

posted @ 2018-10-26 10:23  KJXY  阅读(300)  评论(0)    收藏  举报