DataTbles搭建及使用(一)
来源:互联网 发布:excel凑数软件 编辑:程序博客网 时间:2024/06/02 01:08
这篇文章的目的,是记录使用插件的经历,遇到的问题及解决。有些是测试同学测出来的,有些是产品提的需求。这个插件的文章会写两篇,第一篇是表格使用,第二篇增加CURD功能,官方这一块支持的也不错
插件链接
搭建
- 原始风格的插件,只需要三个文件,分别是jquery和插件本身的js、css,链接如下,要注意的是,jquery引用要在前面,因为插件用到了jquery;
dataTables.bootstrap.min.css
jquery
jquery.dataTables.min.js - 项目里用到的风格是bootstrap,以下是相关资源
bootstrap.min.css
dataTables.bootstrap.min.css
jquery.js
jquery.dataTables.min.js
dataTables.bootstrap.min.js - 下面就是使用的代码片段了
<!-- html页面上,其实只需要table即可,当然,你也可以在下面增加标题,table标签内的属性是必须的,删了会报错,手贱,删过。--><table id="example" class="display" cellspacing="0" width="100%">
//js代码如下$("#table").DataTable({ //表格每列对应的数据 "columns": [{ data: "table_id", orderable: false },], "order": [], //汉化 "language": { "zeroRecords": "无数据", "info": "当前_PAGE_页,第_START_到_END_条,共 _TOTAL_条记录", "infoEmpty": "无数据", "infoFiltered": "", "infoPostFix": "", "paginate": { "next": "下一页", "previous": "上一页" } }, //风格 "dom": "tip", //后台请求,数据来源,可在这个方法里面像后台发起请求,解析数据,最后按照requireData格式将数据塞进去,调用callback方法 "ajax": function (data, callback) { var requireData = { data: [], recordsTotal: 0, recordsFiltered: 0} callback(requireData); } })
数据来源
- 第一种直接写在html页面,使用tr标签,
- 第二种在初始化时,将数据塞到data(平行于ajax字段)字段里面,不推荐使用,便不给例子了,可以去官方找
- 第三种就像上面的代码,定义ajax字段,使用回调函数。
- 推荐使用第三种,两个理由,第一,刷新表格数据只有在定义ajax字段时,才能使用;第二,ajax字段支持分页;需要注意的是,data字段和ajax字段不能同时存在,表格只能由一个数据源
重新加载数据
- 页面肯定是需要刷新的,但dataTable不支持二次初始化,刷新数据应当使用下面的方法
$('#table').DataTable().table.ajax.reload();
- 对于通过查询框出来的表格,我一般定义某个标志位,来表示表格是否已经初始化,如果已经初始化,便重新加载数据。
分页
- ajax是一个方法,预设的参数有两个,其中data参数用于分页,data.start和data.length对应sql语句中的limit a,b两个参数,或者说是起始数和长度;callback是回调函数,填充表格数据。官方起始还提供了error等函数,我偷懒,将后台失败的情况,预先定义成了无数据,这也就是事先定义requireData对象的原因
"ajax": function (data, callback) { var requireData = {}; requireData.recordsTotal = 0; requireData.recordsFiltered = 0; requireData.data = []; var param = { operator_type: $("#operator_type").val(), start_time: $("#start_time").val(), end_time: $("#end_time").val(), start: data.start, length: data.length, }; var total = getAjax("/log/service/total", param, false) $.ajax({ async: false, type: 'get', data: param, url: "/log/service/query", dataType: "json", success: function (json) { requireData.data =json; requireData.recordsTotal = total; requireData.recordsFiltered = total; } }) callback(requireData); }
着色
- 有时需要将一些列颜色设置为醒目的颜色,比如红色,dataTables也支持,操作比较方便
"fnRowCallback" : function(nRow, aData) { if (aData[2] == "报警") { $('td', nRow).css({ "background-color" : "#e10000", "color" : "#fff" }); } else { $('td', nRow).css({ "background-color" : "#F9F9F9", }); } },
效果图
阅读全文
0 0
- DataTbles搭建及使用(一)
- SSH1环境搭建及示例(一)
- Struts2(一)---概述及环境搭建
- 【原创】Selenium学习系列之(一)(二)—Selenium简介,环境搭建及使用
- CAS 实现单点登录(一):环境搭建、部署及简单使用
- springcloud架构搭建(一) Eureka服务器搭建及配置
- zstack(一)运行及开发环境搭建及说明
- SVN服务器搭建和使用(一)
- SVN服务器搭建和使用(一)
- SVN服务器搭建和使用(一)
- SVN服务器搭建和使用(一)
- SVN服务器搭建和使用(一)
- SVN服务器搭建和使用(一)
- SVN服务器搭建和使用(一)
- SVN服务器搭建和使用(一)
- SVN服务器搭建和使用(一)
- SVN服务器搭建和使用(一)
- SVN服务器搭建和使用(一)
- Unity_视频_020
- CtsProviderTestCases 测试01
- C#线程同步的几种方法
- CSS选择器及其用法
- js模块化编程
- DataTbles搭建及使用(一)
- adb个人使用手册
- centos7.3下MySQL5.7.19的安装与配置
- SHELL EXECUTE
- Unity_协程_021
- webpack图片打包(file-loader&&url-loader)(css文件中,以及html文件中)
- 构建需求响应式亿级商品详情页
- 写高质量OC代码52建议总结:42.多用GCD,少用performSelector系列方法
- 音视频直播--Android视频采集(Camera2)