zoukankan      html  css  js  c++  java
  • datatables ajax异步分页

     $('#sample_1').dataTable({
                     "sAjaxSource": "../table/data",
    //                 "bProcessing": true,
                     "bServerSide": true,
                     "fnServerData": function ( sSource, aoData, fnCallback ) {
                         console.log(111)
                         console.log(JSON.stringify(aoData));
                         $.ajax( {
                         "dataType": 'json',
                         "type": "POST",
                         "url": sSource,
                         "data": aoData,
                         "success": fnCallback
                         } );
                     },
                     "bDeferRender": true,// 是否启用延迟加载:当你使用AJAX数据源时,可以提升速度。默认值:False
    //                        "aaData": [
    //                            /* Reduced data set */
    //                            [ "Trident", "Internet Explorer 4.0", "Win 95+", 4, "X" ],
    //                            [ "Trident", "Internet Explorer 5.0", "Win 95+", 5, "C" ],
    //                            [ "Trident", "Internet Explorer 5.5", "Win 95+", 5.5, "A" ],
    //                            [ "Trident", "Internet Explorer 6.0", "Win 98+", 6, "A" ],
    //                            [ "Trident", "Internet Explorer 7.0", "Win XP SP2+", 7, "A" ],
    //                            [ "Gecko", "Firefox 1.5", "Win 98+ / OSX.2+", 1.8, "A" ],
    //                            [ "Gecko", "Firefox 2", "Win 98+ / OSX.2+", 1.8, "A" ],
    //                            [ "Gecko", "Firefox 3", "Win 2k+ / OSX.3+", 1.9, "A" ],
    //                            [ "Webkit", "Safari 1.2", "OSX.3", 125.5, "A" ],
    //                            [ "Webkit", "Safari 1.3", "OSX.3", 312.8, "A" ],
    //                            [ "Webkit", "Safari 2.0", "OSX.4+", 419.3, "A" ],
    //                            [ "Webkit", "Safari 3.0", "OSX.4+", 522.1, "A" ]
    //                        ],
                    "aoColumns": [
                      { "bSortable": false },
                      null,
                      { "bSortable": false },
                      null,
                      { "bSortable": false },
                      { "bSortable": false }
                    ],
                    "aLengthMenu": [
                        [5, 15, 20, -1],
                        [5, 15, 20, "All"] // change per page values here
                    ],
                    // set the initial value
                    "iDisplayLength": 5,
                    "sDom": "<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>",
                    "sPaginationType": "bootstrap",
                    "oLanguage": {
                        "sLengthMenu": "_MENU_ records per page",
                        "oPaginate": {
                            "sPrevious": "Prev",
                            "sNext": "Next"
                        }
                    },
                    "aoColumnDefs": [{
                            'bSortable': false,
                            'aTargets': [0]
                        }
                    ]
                });
        @RequestMapping("/data")
        @ResponseBody
        public PageResult data(HttpServletRequest request,@ModelAttribute PageRequest pageRequest){
    //        
            PageResult result = new PageResult();
            JSONArray aaData = new JSONArray();
            for (int i = pageRequest.getiDisplayStart(); i < pageRequest.getiDisplayStart()+pageRequest.getiDisplayLength(); i++) {
                JSONArray row = new JSONArray();
                row.add("a"+i);
                row.add("b"+i);
                row.add("c"+i);
                row.add("d"+i);
                row.add("e"+i);
                row.add("f"+i);
                aaData.add(row);
            }
            result.setAaData(aaData);
            result.setSEcho(pageRequest.getsEcho()+1);
            result.setITotalRecords(30);
            result.setITotalDisplayRecords(30);
            return result;
        }
    import com.alibaba.fastjson.JSONArray;
    
    
    public class PageResult {
        
        private Integer sEcho;//
        private Integer iTotalRecords;//实际的行数
        private Integer iTotalDisplayRecords;//过滤之后,实际的行数。
        private String sColumns;//可选,以逗号分隔的列名,;
        private JSONArray aaData;
        
        public PageResult() {
            super();
        }
    
        public Integer getSEcho() {
            return sEcho;
        }
    
        public void setSEcho(Integer sEcho) {
            this.sEcho = sEcho;
        }
    
        public Integer getITotalRecords() {
            return iTotalRecords;
        }
    
        public void setITotalRecords(Integer iTotalRecords) {
            this.iTotalRecords = iTotalRecords;
        }
    
        public Integer getITotalDisplayRecords() {
            return iTotalDisplayRecords;
        }
    
        public void setITotalDisplayRecords(Integer iTotalDisplayRecords) {
            this.iTotalDisplayRecords = iTotalDisplayRecords;
        }
    
        public String getSColumns() {
            return sColumns;
        }
    
        public void setSColumns(String sColumns) {
            this.sColumns = sColumns;
        }
    
        public JSONArray getAaData() {
            return aaData;
        }
    
        public void setAaData(JSONArray aaData) {
            this.aaData = aaData;
        }
        
        
        
    
    }
    public class PageRequest {
        
        private int sEcho;//页数
        private int iColumns;//
        private String sColumns;
        private int iDisplayStart;//开始行数
        private int iDisplayLength;//结束行数
        
        public int getsEcho() {
            return sEcho;
        }
        public void setsEcho(int sEcho) {
            this.sEcho = sEcho;
        }
        public int getiColumns() {
            return iColumns;
        }
        public void setiColumns(int iColumns) {
            this.iColumns = iColumns;
        }
        public String getsColumns() {
            return sColumns;
        }
        public void setsColumns(String sColumns) {
            this.sColumns = sColumns;
        }
        public int getiDisplayStart() {
            return iDisplayStart;
        }
        public void setiDisplayStart(int iDisplayStart) {
            this.iDisplayStart = iDisplayStart;
        }
        public int getiDisplayLength() {
            return iDisplayLength;
        }
        public void setiDisplayLength(int iDisplayLength) {
            this.iDisplayLength = iDisplayLength;
        }
        
        
    
    }
  • 相关阅读:
    基于深度学习的人脸识别系统,识别率高达99.7%
    计算机设计思想 —— 虚拟化
    计算机设计思想 —— 类比、建模与隐喻(同构)
    机器学习:simple linear iterative clustering (SLIC) 算法
    如何快速批量修改ArcGIS中的图层设置
    ubuntu 安装cuda 成功
    深度学习攒机配置
    修改hosts文件(判断是否为管理员/以管理员权限运行脚本)
    添加环境变量(永久生效)
    获取管理员组用户
  • 原文地址:https://www.cnblogs.com/chyg/p/6379186.html
Copyright © 2011-2022 走看看