datatables学习笔记1

首先介绍一个学习datatables个人认为一个比较好的中文网站吧:http://datatables.club/

一:基本使用

1.添加js文件:table的修饰采用bootstrap

<link rel="stylesheet" href="../../../resources/gui/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="../../../resources/gui/plugins/datatables/dataTables.bootstrap.css" >
    

<script type="text/javascript" src="../../../resources/gui/scripts/jquery-2.1.4.js"></script>
<script type="text/javascript" src="../../../resources/gui/bootstrap/js/bootstrap.js"></script>
    
<script type="text/javascript" src="../../../resources/gui/plugins/datatables/jquery.dataTables.js"></script>
<script type="text/javascript" src="../../../resources/gui/plugins/datatables/dataTables.bootstrap.min.js"></script>

2.在页面中添加如下内容:这里采用接收服务端返回的数据

<table id="user-table" class="table table-bordered table-hover">
                                <thead>
                                <tr>
                                    <th>name</th>
                                    <th>userName</th>
                                    <th>phone</th>
                                    <th>email</th>
                                    <th>roles</th>
                                    <th>isActive</th>
                                    <th>action</th>
                                </tr>
                                </thead>
                            </table>
3.在js文件中添加:
$('#user-table').DataTable({
        "ajax": {
            "url":'/user/loadAjax',
            "dataSrc":function(result) {
                return result;
            }
        },
        "columnDefs": [ {
            "targets": -1,
            render: function(data, type, row, meta) {
                return "<button οnclick=\"editUser("+row.id+")\" class=\"btn btn-success btn-sm\">"+
                            "<i class=\"fa fa-edit\"></i>"+
                        "</button>"+
                        "<button οnclick=\"deleteUser("+row.id+")\" class=\"btn btn-danger btn-sm\">"+
                            "<i class=\"fa fa-remove\"></i>"+
                        "</button>";
            }
        } ],
        "columns":[
            {"data":"name"},
            {"data":"username"},
            {"data":"phone"},
            {"data":"email"},
            {
                "render": function(data,type,row,meta) {
                    var str = "";
                    for(var i=0;i<row.commRoles.length;i++) {
                        str+=(row.commRoles)[i].name+" ";
                    }
                    return str;
                },
                "orderable":false
            },
            {
                "data":"activeInd",
                "orderable":false
            },
            {
                "data":null,
                "orderable":false
            }
        ],
        "orderMulti":true
    });
    
4.后台采用springmvc处理(jackson传输数据):
    @RequestMapping(value = {"/loadAjax"}, method = RequestMethod.GET)
    @ResponseBody
    public String loadUserByDataTable() throws JsonProcessingException {
        ObjectMapper mapper = new ObjectMapper();
        Set<CommRole> commRolesList = new HashSet<CommRole>();
        CommRole commRole = null;
        for(int i=1;i<4;i++) {
            commRole = new CommRole();
            commRole.setId(Long.valueOf(i));
            commRole.setName("Name+"+(i+1));
            commRolesIdList.add(commRole);
        }
        List<CommUser> commUserList = new ArrayList<CommUser>();
        CommUser commUser = null;
        for (int i = 0; i < 100; i++) {
            commUser = new CommUser();
            commUser.setName("name" +i);
            commUser.setCommRoles(commRolesList);
            commUser.setEmail( "1.@126.com");
            commUser.setPassword("123456");
            commUser.setUsername("username");
            commUser.setPhone("123456789");
            commUser.setId(Long.valueOf(i+1));
            commUserList.add(commUser);
       }

        String testData = "{'aaData':[{ \"name\": \"Tiger Nixon\", \"username\": \"System Architect\", \"phone\": \"$3,120\", \"email\": \"2011/04/25\", \"id\": \"Edinburgh\" }]}";
        String commListJson = mapper.writeValueAsString(<pre name="code" class="html">testData 
); System.out.println(commListJson); return commListJson; }

 

二:配置介绍

datatable初始化:

var table = $('#example').DataTable({
    "deferLoading": null,
    "destroy": false,
    "displayStart": 0,
    "dom": "lfrtip",
    "lengthMenu": [10, 25, 50, 100],
    "order": [[0, 'asc']],
    "orderCellsTop": false,
    "orderClasses": true,
    "orderFixed": [0, 'asc'],
    "orderMulti": true,
    "pageLength": 10,
    "pagingType": "simple_numbers",
    "renderer": "bootstrap",
    "retrieve": false,
    "rowId": "DT_RowId",
    "scrollCollapse": false,
    "search": {
        "caseInsensitive": true,
        "regex": false,
        "search": "Fred",
        "smart": true
    },
    "searchCols": [
        null, {
        "search": "My filter"
        },
        null,
        {
            "search": "^[0-9]",
            "escapeRegex": false
        }
    ],
    "searchDelay": null,
    "stateDuration": 7200,
    "stripeClasses": ['odd', 'even'],
    "tabIndex": 0
});

columns列配置:

var table = $('#example').DataTable({
    "columns": [{
        "cellType": "td",
        "className": "my_class",
        "contentPadding": "mmm",
        "createdCell": function(td, cellData, rowData, row, col) {
            if (cellData < 1) {
                $(td).css('color', 'red')
            }
        },
        "data": "engine",
        "defaultContent": "<i>Not set</i>",
        "name": "engine",
        "orderable": true,
        "orderData": [0, 1],
        "orderDataType": "dom-text",
        "orderSequence": ["asc"],
        "<span style="color:#ff0000;">render</span>": function(data, type, full, meta) {
            return '<a href="' + data + '">Download</a>';
        },
        "searchable": true,
        "title": "My column title",
        "type": "html",
        "visible": true,
        "width": "20%",
    }]
});

var table = $('#example').DataTable({
    "columnDefs": [{
        "targets": 0,
        "cellType": "td",
        "className": "my_class",
        "contentPadding": "mmm",
        "createdCell": function(td, cellData, rowData, row, col) {
            if (cellData < 1) {
                $(td).css('color', 'red')
            }
        },
        "data": "engine",
        "defaultContent": "<i>Not set</i>",
        "name": "engine",
        "orderable": true,
        "orderData": [0, 1],
        "orderDataType": "dom-text",
        "orderSequence": ["asc"],
        "<span style="color:#ff0000;">render</span>": function(data, type, full, meta) {
            return '<a href="' + data + '">Download</a>';
        },
        "searchable": true,
        "title": "My column title",
        "type": "html",
        "visible": true,
        "width": "20%",
    }]
});





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SpringMVC和DataTables是两个常用的技术,可以结合使用来实现表格的服务端分页和模糊查询功能。SpringMVC是一个基于Java的Web框架,用于开发Web应用程序。DataTables则是一个功能强大的前端插件,用于在网页中展示和操作表格数据。 引用中提到了一个基于SpringMVC和Bootstrap的实现表格服务端分页和模糊查询的相关资料,可以作为参考借鉴。该资料介绍了如何使用SpringMVC和Bootstrap结合DataTables来实现表格的分页和模糊查询功能。 引用中提到,DataTables 1.10版本向上兼容,可以与其他版本的插件一起使用。在日常开发中,可以通过前端插件DataTables发送请求给后端,然后通过后端解析这些参数来实现对表格数据的分页和查询操作。 引用中介绍了一个使用SpringMVC和Velocity模板引擎来实现仿DataTables局部刷新分页的方法。这篇文章对于想要了解如何使用SpringMVC和Velocity来实现类似DataTables功能的人来说具有很好的参考价值。 综上所述,SpringMVC和DataTables是常用的技术,可以结合使用来实现表格的服务端分页和模糊查询功能。可以参考引用和的资料来了解更多相关内容。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [基于SpringMVC+Bootstrap+DataTables实现表格服务端分页、模糊查询](https://download.csdn.net/download/weixin_38630571/12791653)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [datatables1.10+springMVC分页](https://download.csdn.net/download/serializablemrli/9974158)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [springMVC+velocity实现仿Datatables局部刷新分页方法](https://download.csdn.net/download/weixin_38597300/12763583)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值