Datatables(3)完整的datatables案例


靈感來自datatables官網

和http://blog.csdn.net/star535X/article/details/50060427 這個人寫的很棒很全面

1 關於js

 1 $(function() {
 2     $("#aaa, #bbb, #ccc, #ddd").unbind("change").bind({//aaa bbb……分別是四個下拉框 選中時觸發ajax 使用語句table.ajax.reload();
 3         change : function(){
 4             table.ajax.reload();
 5         }
 6     });
 7     table=$('#list_tab').DataTable({
 8         "aLengthMenu": [[10, 15, 20], [10, 15, 20]],//搜索欄顯示
 9         "order": [[2, "desc"]],//第2列的數據倒序排序 此條會通過參數傳給服務器
10         "processing": true,//代碼沒加載完成時 會顯示加載中…
11         "searching": false,//關閉datatables自帶搜索功能(沒什么用)
12         "bPaginate": true, //翻頁功能
13         "bLengthChange": true, //改變每頁顯示數據數量
14         "bFilter": true, //過濾功能
15         "bSort": true, //排序功能
16         "serverSide": true,//服務器端處理數據
17         "sPaginationType": "full_numbers",      //翻頁界面類型
18         //"sAjaxSource": "/orderCenter/dataTable",
19         //"fnServerData":retrieveData, //與后台交互獲取數據的處理函數
20         "oLanguage":    //DataTable中文化 把提示語之類的換成中文
21         {
22             "sProcessing": "正在加載中......",
23             "sLengthMenu": "每頁顯示 _MENU_ 條記錄",
24             "sZeroRecords": "對不起,查詢不到相關數據!",
25             "sEmptyTable": "表中無數據存在!",
26             "sInfo": "當前顯示 _START_ 到 _END_ 條,共 _TOTAL_ 條記錄",
27             "sInfoFiltered": "數據表中共為 _MAX_ 條記錄",
28             "sSearch": "搜索",
29             "oPaginate": {
30                 "sFirst": "首頁",
31                 "sPrevious": "上一頁",
32                 "sNext": "下一頁",
33                 "sLast": "末頁"
34             }
35         },
36         ajax: {
37             "type": "POST",
38             "url": '/orderCenter/dataTable',
39             "data": function (data) {//在此處對data(datatables傳給服務器端的數據)進行處理 data.start是從哪個數據開始,data.length是頁面長度 通過這兩個參數可以分頁 
40                       //currentPage pageSize 是我們項目需要的參數 為了改動不大在data中加了這兩個參數
41                 var order = data.order;
42                 data.currentPage = data.start / data.length + 1;
43                 data.pageSize = data.length;
44                 data.orderColumn = data.order[0].column;//此處order[0].column是第幾列要排序
45                 data.orderDir = data.order[0].dir;//此處是asc desc
46 
47                 data.aaa= $("#aaa").val();//aaa bbb……可以在此處給data添加參數 這是自定義搜索欄傳值的方式
48                 data.bbb= $("#bbb").val();
49                 data.ccc= $("#ccc").val();
50                 data.ddd= $("#ddd").val();
51             },
52         },
53         "bPaginate": true,// 分頁按鈕
54         "sPaginationType": "full_numbers",//用這個參數顯示的頁碼工具比較全 除了"full_numbers"還有‘two_button’
55         "columns": [
56             {"data": null, "title": "第一列", 'sClass': "text-center", "orderable": false},//data 數據 如果復雜邏輯可以寫在回調fnRowCallback中否則可以直接返回aoData的屬性
57             {"data": "properties1.aaa", "title": "第二列", 'sClass': "text-center", "orderable": false},//'sClass': "text-center"居中
58             {"data": null, "title": "第三列", 'sClass': "text-center", "orderable": false},//"orderable": false是否可排序(true界面上會有排序按鈕)
59             {"data": null, "title": "第四列", 'sClass': "text-center", "orderable": false},
60             {"data": "properties2", "title": "第五列", 'sClass': "text-center", "orderable": false},
61         ],
62         "fnRowCallback": function (nRow, aData) {//注意參數順序不可變
63             $result = aData.properties1.aaa+ '<br/>' + aData.properties2;//在這寫單元格里的html代碼
64             $('td:eq(0)', nRow).html($result);//在這里分別給1 3 4列賦值
65             $('td:eq(2)', nRow).html($result);
66             $('td:eq(3)', nRow).html($result);
67         }
68     });
69 });

 

2關於ajax傳參

ajax返回的數據實體類按照這個格式就ok

1     private Long iTotalRecords;//實際的行數
2     private Long iTotalDisplayRecords;//過濾之后,實際的行數
3     private Integer draw;//datatables傳過來的參數 原樣返回
4     private List<T> aaData;//返回實體

 

想說的都寫在注釋里 不懂的可以參照 http://blog.csdn.net/star535X/article/details/50060427或者問我

么么噠晚安~!


免責聲明!

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



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