Jquery Datatables 請求參數及接收參數處理


Jquery Datatables 請求參數及接收參數處理


/**
 * Created by wb-wuyifu on 2016/8/9.
 */

/**
 * Created by wb-wuyifu on 2016/8/9.
 */

var $ = jQuery;

(function () {

    var App = function () {
        var self = this;


        self = $.extend(this, {

            api: {
                ajax_list: '*****'
                , url_monitor: '*****'
            },
            const:{
                gridIndex : 0,  // 表格索引序號
            },

            /**
             * 應用初始化
             */
            init: function () {
                self.initComponents();
            },

            /**
             *  組件初始化
             */
            initComponents: function () {

                // 初始化 表格
                self.jGrid = $("#searchGrid").DataTable({
                    ajax: {
                        url: self.api.ajax_list,

                        // 請求到的數據
                        dataSrc: function (data) {
                            // 請求到數據時 重置 索引號
                            self.const.gridIndex = 0;

                            $.extend(data, {
                                iTotalDisplayRecords: data.count,
                                iTotalRecords: data.count,
                            });

                            return data.rows;
                        },
                        dataType: 'json',
                        crossDomain: true,

                        // 延遲加載
                        deferRender: true,

                        // 提交參數
                        data: function (param) {

                            if (self.jGrid) {
                                param.pageSize = self.jGrid.page.len(); // 取得每頁顯示記錄數返回給服務器
                            }

                            // 根據起始記錄索引 重新計算頁碼
                            if(param.start){
                                param.pageNo = Math.ceil(param.start / (param.pageSize * 1.0)) + 1;
                            }else{
                                param.start = 1;
                            }

                            return param;
                        }
                    },
                    serverSide: true,
                    bServerSide :true,
                    ordering: false,
                    info: true,
                    lengthChange: true,
                    searching: false,
                    scrollCollapse: true,
                    pageLength: 30,
                    bAutoWidth: true,
                    stateSave :false,
                    // 自定義每頁記錄數 下拉菜單
                    lengthMenu: [
                        [10, 20, 30, 50, 100],
                        ['10', '20', '30', '50', '100']
                    ],
                    oLanguage: {
                        "sProcessing": "數據加載中……",
                        "sSearch": "快速檢索:",
                        "sLengthMenu": "每頁顯示 _MENU_ 條",
                        "sInfo": "從 _START_ 到 _END_ 條,總共 _TOTAL_ 條記錄",
                        "sZeroRecords": "沒有記錄",
                        "sInfoEmpty": "暫無記錄",
                        "sInfoFiltered": "(一共有 _MAX_  條記錄)",
                        "oPaginate": {
                            "sFirst": "首頁",
                            "sPrevious": " 上一頁 ",
                            "sNext": " 下一頁 ",
                            "sLast": " 末頁 "
                        }
                    },
                    columns: [
                        {
                            data: null,
                            defaultContent: '',
                            render: function (data, type, row) {
                                return ++self.const.gridIndex;
                            }
                        },
                        {
                            data: 'a',
                            defaultContent: ''
                        },
                        {
                            data: 'b',
                            defaultContent: ''

                        },
                        {
                            data: 'c',
                            defaultContent: ''

                        },
                        {
                            data: 'd',
                            defaultContent: ''

                        },
                        {
                            data: 'e',
                            render: function (data, type, row) {
                                var display = [
                                    row.a
                                    , ' / '
                                    , row.b
                                    , ' / <br/>'
                                    , row.c
                                ].join('');
                                return display;
                            },
                        },
 
                    ]
                });

                

            }

        });


        self.init();

    }.call();

})();




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM