zoukankan      html  css  js  c++  java
  • Jquery datatable 配置与应用

      1 var EcommerceOrders = function() {
      2 
      3     var initPickers = function() {
      4         //init date pickers
      5         $('.date-picker').datepicker({
      6             rtl: App.isRTL(),
      7             autoclose: true
      8         });
      9     }
     10 
     11     var handleOrders = function() {
     12 
     13         var grid = new Datatable();
     14         grid.init({
     15             src: $("#datatable_orders"),
     16             onSuccess: function(grid) {
     17                 // execute some code after table records loaded
     18             },
     19             onError: function(grid) {
     20                 // execute some code on network or other general error  
     21             },
     22             dataTable: {// here you can define a typical datatable settings from http://datatables.net/usage/options 
     23                 //"sDom": '<"top"i>rt<"bottom"flp><"clear">', //显示布局
     24                 "aLengthMenu": [
     25                     [20, 50, 100, 150, -1],
     26                     [20, 50, 100, 150, "All"] //["每页10条", "每页25条", "每页50条", "显示所有数据", "不显示数据"]],//设置每页显示记录的下拉菜单
     27                 ],
     28                 "iDisplayLength": 2, // default record count per page
     29 //                "iCookieDuration":7200, //指定用于存储客户端信息到cookie中的时间长度,超过这个时间后,自动过期
     30                 "bProcessing": true,
     31                 "bServerSide": true, //是否启动服务器端数据导入,即要和sAjaxSource结合使用                       
     32                 //"bLengthChange":false,//改变每页显示数据数量
     33                 //"bPaginate": false, //翻页功能
     34                 "bFilter":true, //全文过滤开关,过滤功能
     35                 //"bSort": false, //排序功能
     36                 //"bInfo": false //页脚信息
     37                 //"bAutoWidth": true, //自动宽度
     38                 //"bStateSave": true, //保存当前页面信息为cookie,默认关闭
     39                 //"bScrollCollapse": false, ////当显示的数据不足以支撑表格的默认的高度时,依然显示纵向的滚动条。(默认是false)  
     40                 // "bJQueryUI": true, /*是否开启主题*/
     41                 
     42                 "sAjaxSource": "test/dataProvider", // ajax source
     43                // "sPaginationType": "full_numbers",  //修改默认分页显示样式
     44                // "sScrollX": "100%",//表格的宽度
     45                // "sScrollXInner": "100%", //表格的内容宽度
     46                // "sScrollY": "200px",
     47                // "sUrl": "media/language/de_DE.txt" ,//也可以直接指定语言包,文件格式和上面一样
     48                //"sServerMethod": "GET", //传递方式
     49                 "oLanguage": {
     50                     "sLengthMenu": "每页显示 _MENU_条",
     51                     "sZeroRecords": "没有找到符合条件的数据",
     52                     "sProcessing": "&lt;img src=’./loading.gif’ /&gt;",
     53                     "sInfo": "当前第 _START_ - _END_ 条 共计 _TOTAL_ 条",
     54                     "sInfoEmpty": "木有记录",
     55                     "sInfoFiltered": "(从 _MAX_ 条记录中过滤)",
     56                     "sSearch": "搜索:",
     57                     "oPaginate": {
     58                         "sFirst": "首页",
     59                         "sPrevious": "前一页",
     60                         "sNext": "后一页",
     61                         "sLast": "尾页"
     62                     }
     63                 },  
     64 //                 "oSearch":{"sSearch":"keyword1 keyword2 keyword3","bRegex":true},
     65 //                "asStripClasses": ['odd', 'even'], //指定要被应用到各行的class风格,会自动循环
     66                 "aaSorting": [[1, "asc"]] ,// //给列表排序 ,第一个参数表示数组 (由0开始)。1 表示Browser列。第二个参数为 desc或是asc
     67 //                "aoColumnDefs": [
     68 //                    {"bSearchable": false, "bSort": false,"bVisible": true, "aTargets": [1]}, //bSearchable:是否可搜索;bVisible:是否可见;aTargets:哪一列
     69 //                    {"bVisible": true, "aTargets": [2]}//
     70 //                ], 
     71                 "aoColumnDefs": [{
     72                         "sClass": "center",
     73                         "aTargets": ['_all']
     74                     }, {
     75                         "bSearchable": false,
     76                         "aTargets": [0, 1,2]//['_all']  
     77                     }, {
     78                         "bSortable": false, //指定不支持排序的列  
     79                         "aTargets": ['_all']//['_all']  
     80                     }, {
     81                         "sWidth": "5%", //指定列宽  
     82                         "aTargets": [0, 1]//['_all']  
     83                 }], 
     84                 
     85 //                "aoSearchCols": [
     86 //                    null,
     87 //                    {"sSearch": "keyword", "bRegex": true},
     88 //                    null,
     89 //                    {"sSearch": "keyword2", "bRegex": false}
     90 //                ],
     91             
     92 //                "aoColumns": [
     93 //                    {"sClass": "center", "sName": "Id"},
     94 //                    {"sClass": "center", "sName": "Title1"},
     95 //                    {"sClass": "center", "sName": "CategoryId"},
     96 //                    {"sClass": "center", "sName": "Click"}
     97 //                ],
     98             }
     99         });
    100 
    101         // handle group actionsubmit button click
    102         grid.getTableWrapper().on('click', '.table-group-action-submit', function(e) {
    103             e.preventDefault();
    104             var action = $(".table-group-action-input", grid.getTableWrapper());
    105             if (action.val() != "" && grid.getSelectedRowsCount() > 0) {
    106                 grid.addAjaxParam("sAction", "group_action");
    107                 grid.addAjaxParam("sGroupActionName", action.val());
    108                 var records = grid.getSelectedRows();
    109                 for (var i in records) {
    110                     grid.addAjaxParam(records[i]["name"], records[i]["value"]);
    111                 }
    112                 grid.getDataTable().fnDraw();
    113                 grid.clearAjaxParams();
    114             } else if (action.val() == "") {
    115                 App.alert({type: 'danger', icon: 'warning', message: 'Please select an action', container: grid.getTableWrapper(), place: 'prepend'});
    116             } else if (grid.getSelectedRowsCount() === 0) {
    117                 App.alert({type: 'danger', icon: 'warning', message: 'No record selected', container: grid.getTableWrapper(), place: 'prepend'});
    118             }
    119         });
    120         
    121         //用于每一列搜索过滤
    122 //        var asInitVals = new Array(); 
    123 //        $(".filter input").keyup(function() {
    124 //            grid.fnFilter(this.value, $(".filter input").index(this));
    125 //        });
    126 //        $(".filter input").each(function(i) {
    127 //            asInitVals[i] = this.value;
    128 //        });
    129 //        $(".filter input").focus(function() {
    130 //            if (this.className == "search_init")
    131 //            {
    132 //                this.className = "";
    133 //                this.value = "";
    134 //            }
    135 //        });
    136 //        $(".filter input").blur(function(i) {
    137 //            if (this.value == "")
    138 //            {
    139 //                this.className = "search_init";
    140 //                this.value = asInitVals[$(".filter input").index(this)];
    141 //            }
    142 //        });
    143 
    144     }
    145 
    146     return {
    147         //main function to initiate the module
    148         init: function() {
    149 
    150             initPickers();
    151             handleOrders();
    152         }
    153 
    154     };
    155 
    156 }();
     1 <div class="portlet-body">
     2                                 <div class="table-container">                                
     3                                 <table class="table table-striped table-bordered table-hover" id="datatable_orders">
     4                                 <thead>
     5                                 <tr role="row" class="heading">
     6                                     <th >
     7                                         <input type="checkbox" class="group-checkable">
     8                                     </th>
     9                                     <th width="5%">
    10                                          Order&nbsp;#
    11                                     </th>
    12                                     <th width="15%">
    13                                          Purchased&nbsp;On
    14                                     </th>                                    
    15                                     <th width="10%">
    16                                          Actions
    17                                     </th>
    18                                 </tr>
    19                                 <tr role="row" class="filter">
    20                                     <td>
    21                                     </td>
    22                                     <td>
    23                                         <input type="text" class="form-control form-filter input-sm" name="order_id" class="search_init" >
    24                                     </td>
    25                                     <td>
    26                                         <input type="text" class="form-control form-filter input-sm" name="order" >
    27                                     </td>                                                                        
    28                                     <td>
    29                                         <div class="margin-bottom-5">
    30                                             <button class="btn btn-sm yellow filter-submit margin-bottom"><i class="fa fa-search"></i> Search</button>
    31                                         </div>
    32                                         <button class="btn btn-sm red filter-cancel"><i class="fa fa-times"></i> Reset</button>
    33                                     </td>
    34                                 </tr>
    35                                 </thead>
    36                                 <tbody>
    37                                 </tbody>
    38                                 <tfoot>                                    
    39                                 </tfoot>
    40                                 </table>
    41                             </div>
    42                         </div>
     1     public function actionDataProvider() {   
     2         $data = array();
     3        $connect = Post::model()->getDbConnection()->createCommand();
     4        $limit = isset($_REQUEST['iDisplayLength']) ? $_REQUEST['iDisplayLength']:2;
     5        $offset = isset($_REQUEST['iDisplayStart']) ? $_REQUEST['iDisplayStart']:0;            
     6        $list = $connect->select('*')->from( Post::model()->tableName())->limit($limit, $offset)->queryAll();   
     7        $count = 5;   
     8        foreach ($list as $key => $val) {
     9            $row = array();
    10            $row[0] = "<input type="checkbox" name="id[]" value="1">";
    11            $row[1] = $val['title'];
    12            $row[2] = $val['content'];
    13            $row[3] = "<a href="ecommerce_orders_view.html" class="btn btn-xs default btn-editable"><i class="fa fa-search"></i> View</a>";
    14            $data[] = $row;
    15        }
    16        $json = new stdClass();
    17        $json->aaData = $data;
    18        $json->sEcho = $_REQUEST['sEcho'];
    19        $json->iTotalRecords = $count;
    20        $json->iTotalDisplayRecords = $count;
    21        die(json_encode($json));
    22     }
  • 相关阅读:
    ●BZOJ 2752 [HAOI2012]高速公路(road)
    ●UVA 11021 tunnello
    ●POJ 2794 Double Patience
    【51Nod1555】布丁怪
    【LG1600】[NOIP2016]天天爱跑步
    【LG5171】Earthquake
    【LG4437】[HNOI/AHOI2018]排列
    【CF1097F】Alex and a TV Show
    【51Nod 1769】Clarke and math2
    【LG5330】[SNOI2019]数论
  • 原文地址:https://www.cnblogs.com/kezf/p/datatable.html
Copyright © 2011-2022 走看看