简介
Datatables是一款jquery表格插件。它是一个高度灵活的工具,可以将任何HTML表格添加高级的交互功能。
- 分页,即时搜索和排序
- 几乎支持任何数据源:DOM, javascript, Ajax 和 服务器处理
- 支持不同主题 DataTables, jQuery UI, Bootstrap, Foundation
- 各式各样的扩展: Editor, TableTools, FixedColumns ……
- 丰富多样的option和强大的API
- 支持国际化
- 超过2900+个单元测试
- 免费开源 ( MIT license )! 商业支持
- 更多特性请到DataTables中文网查看
下载
可以到DataTables中文网下载最新版本的文档。
下载完目录如下:
我们将使用media目录下的文件。
简单使用
在项目中使用Datatables,只需要引用三个文件即可,jQuery库,一个DT的核心js文件和一个DT的css文件。
demo目录
demo.html
|
|
demo.js
|
|
结果
添加国际化
Datatables中所使用的语言选项是通过 language 来配置的。 这是一个对象字符串,通过一个参数来描述Datatables的每个部分。
Datatables默认的是英语,这里我们改成中文。在demo.js文件添加 language 配置项,使其DataTables初始化代码像这样:
结果如图
关于表列
上面我们的写法是动态添加title
官网是另一种写法,首先在table里写好表列字段名,如:
然后上面columns写法稍微有点不同
这样也是完全OK的,具体怎么用看自己喜好和实际业务了。
服务器支持
一次性处理大量数据DataTables性能会下降,因为 DT 需要渲染,数据越多,速度就越慢。
为了解决这个问题, DataTables 提供了服务器模式,把本来客户端所做的事情交给服务器去处理, 比如排序(order)、分页(paging)、过滤(filter)。
启用服务器模式时,每次请求 DataTables 会向服务器发送一些参数(当前分页,排序,搜索参数等),服务器则返回组装好的数据。
demo.html
|
|
demo.js
|
|
查看结果
在浏览器调试窗口,我们可以看到发送到后台的参数(即上面ajax请求中d的数据):
服务器返回的数据
点此查看更多服务器处理参数。
小结
DataTables是一个表格插件。既可以一次性获取大量数据在前端做分页处理(一般不推荐,数据量较大时客户端压力大,处理慢),也可以使用服务器处理分页(只返回当前页面的数据)。
常用的参数可能就那么几个,我们可以直接使用它们,也可以自己封装参数,比如”search[value]”我们可以改成”keyword”再传给后台,”order[0][column]”可以先在前端转换成对应”orderColumn”再传入后台,还可以加上其它特定的业务参数等。
其他一些未提及的,比如服务器模式的自定义回调函数,勇敢的去官网或google探索吧。
总体感觉,使用简单,配置灵活。