DataTables简介

与EasyUI的Datagrid作用一样,比easyui更漂亮

Datatables是一款jquery表格插件。它是一个高度灵活的工具,可以将任何HTML表格添加高级的交互功能。

支持分页、排序、搜索

支持4种数据源

支持多种主题

拥有多种扩展

文件引入

至少引入如下3个文件

多种样式

Bootstrap 3

Foundation

Semantic UI

jQuery UI

Base

Bootstrap 4

导入的文件不同,具体请看官网示例:https://www.datatables.net

完整Table的HTML结构

item1item1item1

item1item1item1

想使用DataTables表格插件,至少要写

标签,然后再通过js渲染

初始化与常用配置

默认初始化

$('#example').DataTable();

配置初始化

$('#example').DataTable({

"scrollY" : 350,

"ajax" : 'http://wt.com',

"serverSide" : true

});

常用配置项

info //是否显示左下角信息

ordering //是否开启排序

paging //是否开启分页

searching //是否开启查询

serverSide

ajax

data

lengthMenu: [ 10, 25, 50, 75, 100 ] //定义每页显示记录数

DataTables支持四种数据源

HTML(DOM)数据源——后台模板拼接

NamePositionOfficeAgeStart dateSalary

NamePositionOfficeAgeStart dateSalaryTiger NixonSystem ArchitectEdinburgh612011/04/25$320,800Cedric KellySenior Javascript DeveloperEdinburgh222012/03/29$433,060

Javascript数据源(Array/Objects)——优先级比HTMLDOM高

有2种类型:

二维数组:

var dataSet = [

[ "Tiger Nixon", "System Architect", "Edinburgh", "5421", "2011/04/25", "$320,800" ],

[ "Garrett Winters", "Accountant", "Tokyo", "8422", "2011/07/25", "$170,750" ]

];

对象数组(必须配合columns配置项):

var dataSet = [

{

"name": "Tiger Nixon",

"position": "System Architect",

"salary": "$3,120",

"start_date": "2011/04/25",

"office": "Edinburgh",

"extn": "5421"

},

{

"name": "Garrett Winters",

"position": "Director",

"salary": "$5,300",

"start_date": "2011/07/25",

"office": "Edinburgh",

"extn": "8422"

}

];

$(document).ready(function() {

$('#example').DataTable( {

data: dataSet,

columns: [

{ title: "Name" },

{ title: "Position" },

{ title: "Office" },

{ title: "Extn." },

{ title: "Start date" },

{ title: "Salary" }

]

} );

} );

Ajax with client-side processing数据源

服务器返回的数据格式必须是:

{

"data": [

[

"Howard Hatfield",

"Office Manager",

"San Francisco",

"7031",

"2008/12/16",

"$164,500"

],

[

"Hope Fuentes",

"Secretary",

"San Francisco",

"6318",

"2010/02/12",

"$109,850"

]

]

}

或者

{

"data": [

{

"name": "Tiger Nixon",

"position": "System Architect",

"salary": "$3,120",

"start_date": "2011/04/25",

"office": "Edinburgh",

"extn": "5421"

},

{

"name": "Garrett Winters",

"position": "Director",

"salary": "$5,300",

"start_date": "2011/07/25",

"office": "Edinburgh",

"extn": "8422"

}

]

}

$(document).ready(function() {

$('#example').DataTable( {

"ajax": '../ajax/data/arrays.txt'

} );

} );

$(document).ready(function() {

$('#example').DataTable( {

"ajax": {

"url": "data.json",

"data": {

"user_id": 451

}

}

} );

} );

Ajax with server-side processing数据源

服务器返回的数据格式:

{

"draw" : 1,

"recordsTotal" : 20,

"recordsFiltered" : 20,

"data" : [

[],[]

]

}

自定义列

在DataTables表格初始化的时候进行初始化,使用columns或者columnDefs属性进行自定义列的信息

能自定义列的标题、显示内容、样式、别名、数据绑定、是否提供排序、是否提供搜索过滤、列宽、默认内容等等

示例

$('#example').DataTable({

"ajax" : '{:U("getList")}',

"serverSide" : true,

"columns": [

{

"searchable": false,

"name": "engine",

"title" : "wutao",

"orderable": false,

"className": "my_class",

"render": function ( data, type, full, meta ) {

return 'Download';

}

},

null

]

});

服务器模式的请求参数

当使用服务器模式"serverSide" : true时,浏览器会发出一个GET请求来获取数据源

请求的查询参数如下:

draw:1 //请求次数,用于响应是也要带回来

columns[0][data]:0 //第一列绑定的数据源标识,二维数组就是数字,对象数组就是key

columns[0][name]:engine //第一列别名

columns[0][searchable]:false //不可搜索

columns[0][orderable]:true //不可排序

columns[0][search][value]: //搜索的条件

columns[0][search][regex]:false //搜索是否使用正则

..... //有多少列就有多少个columns[n]

order[0][column]:0 //指定排序的列

order[0][dir]:asc //指定列的排序方式

start:0 //起始下标

length:10 //每页记录数

search[value]: //全局搜索条件

search[regex]:false //全局搜索是否使用正则

_:1492657609627 //自带标示不用理会

国际化

在DataTables表格初始化时,使用language属性对表格中的文字信息进行灵活修改

示例:

$('#example').dataTable( {

"language": {

"processing": "DataTables is currently busy",

"emptyTable": "No data available in table",

"info": "Showing page _PAGE_ of _PAGES_",

"lengthMenu": "每页显示 _MENU_ 条记录",

"search": "搜索:"

}

} );

查询过滤(搜索)

列表项目

自定义表格控制元素

在DataTables表格控件初始化时,使用dom属性和initComplete回调函数来统一配置

应用场景:把自定义按钮集成到DataTables上面

$('#example').dataTable( {

"dom": "lftip",

"initComplete": function(){

$("#customid").append("");

}

} );

自定义表格DOM最好把栅格加进去

$('#example').dataTable( {

"dom": ">>",

"initComplete": function(){

$("#customid").append("");

}

} );

drawCallback比initComplete优先执行

整合iCheck复选框

Html结构

//表头

JS部分

$('#example').DataTable({

"ajax" : '{:U("getList")}',

"serverSide" : true,

"columns": [

{

"render": function ( data, type, row, meta ) {

return '';

}

},

null

],

"drawCallback": function(){

checkbox_init();

}

});

//全选,全不选

function checkbox_init(){

$(".i-checks").iCheck({checkboxClass:"icheckbox_square-green",radioClass:"iradio_square-green",})

$('#checkAll').on('ifChecked', function(event){

$(this).off('ifUnchecked');

$('.item').iCheck('check');

$(this).on('ifUnchecked', function(event){

$('.item').iCheck('uncheck');

})

});

$('.item').on('ifUnchecked',function(event){

$('#checkAll').off('ifUnchecked');

$('#checkAll').iCheck('uncheck');

}).on('ifChecked',function(event){

var state = true;

$('.item').each(function(i){

if(!$(this).is(':checked')){

state = false;

}

});

if(state){

$('#checkAll').iCheck('check');

}

});

}

datatables html定义,DataTables表格插件使用说明相关推荐

  1. Jquery 表格插件DataTables

    [转]Jquery 表格插件DataTables 博客分类: Jquery jquerydatatablesjavascript  1.特性 可变长度分页: 动态过滤: 多列排序,带数据类型检测功能: ...

  2. Datatables表格插件学习

    Datatables 是一款jquery表格插件.它是一个高度灵活的工具,可以将任何HTML表格添加高级的交互功能,可以很方便的实现分页,即时搜索和排序. 一.简单使用 怎样简单地使用DataTabl ...

  3. Datatables——一款前端好用的表格插件,本地json模拟数据实现表格分页查询

    在做管理后台功能时,经常需要用到表格展示数据,从数据库查询返回的数据,返回集合或数组到前台,然后前台将数据渲染成表格,方便直观展示数据,通常还需要结合分页.查询.排序.Datatables是一款符合上 ...

  4. JS表格插件DataTables

    简介 DateTables是一款jQuery表格插件,可以将任何HTML表格添加交互功能. 分页,即时搜索和排序 几乎支持任何数据源:DOM, javascript, Ajax 和 服务器处理 支持不 ...

  5. Spring Boot+MybatisPlus使用JQuery DataTables表格插件展示数据、实现分页和模糊查询等功能

    Spring Boot+MybatisPlus使用JQuery DataTables表格插件展示数据.实现分页和查询功能 一.部分技术选型 二.项目结构 三.功能需求和效果展示 四.关键代码 4.1页 ...

  6. 表格插件JQuery.DataTable教程

    jQuery 的插件 dataTables 是一个优秀的表格插件,提供了针对表格的排序.浏览器分页.服务器分页.筛选.格式化等功能.dataTables 的网站上也提供了大量的演示和详细的文档进行说明 ...

  7. jQuery 表格插件汇总

    本文搜集了大量 jQuery 表格插件,帮助 Web 设计者更好地驾御 HTML 表格,你可以对表格进行横向和竖向排序,设置固定表头,对表格进行搜索,对大表格进行分页,对表格进行滚动,拖放操作等等.这 ...

  8. jQuery 表格插件

    本文搜集了大量 jQuery 表格插件,帮助 Web 设计者更好地驾御 HTML 表格,你可以对表格进行横向和竖向排序,设置固定表头,对表格进行搜索,对大表格进行分页,对表格进行滚动,拖放操作等等.这 ...

  9. 常用表格插件附官网或中文网:

    常用表格插件附官网或中文网: Datatables.EasyUI Datagrid 数据网格.pqgrid.jqGrid.bootstrap-table 一.Datatables 中文网:http:/ ...

最新文章

  1. 广东2021高考成绩查询6,2021全国高考6月10日全部结束 预计最快6月23日可查高考成绩...
  2. c++ array 模板类使用
  3. 你可以通过这13种方法帮助Linux发展
  4. 【Servlet】获取并输出服务器获得的数据
  5. 国内手机产业混乱:产业一窝蜂 企业捞快钱
  6. mysql dts_云树·DTS - 产品系列 - 分布式数据库系统_MySQL数据库性能优化-爱可生...
  7. niginx之虚拟主机和域名解析
  8. 谷歌 Compute Engine 的虚拟机曝0day未修复,可遭接管
  9. Android自定义ScrollBar,android自定义View之垂直的滚动条
  10. 软件测试的知识点总结
  11. 网络故障排除连载之四:OSPF故障排除
  12. 客户服务器与p2p文件分发,P2P大文件分发技术 | 点量软件
  13. TiledMap快捷键
  14. 计算机英语词汇解释,常见计算机英语词汇解释
  15. PhotoScan软件进行无人机数据处理流程
  16. 使用 Cheat Engine 修改 Kingdom Rush 中的金钱、生命、星
  17. 计算机求和便捷应用,4种常用求和方法 | Excel自动求和全攻略!
  18. 小米智能插排内部结构
  19. 计算机考研院校排名2015,2015年计算机考研学校排名
  20. Linux从入门到放弃 k8s 安装部署

热门文章

  1. 南京住房公积金提取方式
  2. L2-4 秀恩爱分得快 (25 分)
  3. vant 做表格_Vant Cell 单元格
  4. 中山大学新华学院计算机科学与技术专插本,专插本计算机科学与技术专业
  5. 动态规划求解最短路径问题
  6. html+css+js实现一个简单的电商商城首页
  7. 【Java -- 算法】分治算法、动态规划、回溯法、贪心算法
  8. 正火|退火|淬火|回火区别、工艺温度和操作
  9. 差分隐私从白斩鸡到菜鸡(一)
  10. 家用切鸡块的机器人_好的整鸡斩块机