jquery datatables 的 配置参数
来源:互联网 发布:tumblr类似软件 编辑:程序博客网 时间:2024/06/05 12:48
http://www.suchso.com/UIweb/jquery-DataTables-use-opertions-zhongwen-shuoming.html
什么是DataTables参数(Options)
上篇我们说了,DataTables控件的加载函数dataTable()一般都有一个对象参数,这个对象参数就是整个DataTables控件的参数(Options),通过定义这个参数中的各种属性,来灵活控制DataTable的初始效果. 样例代码如下:
$(
'#example'
).dataTable({
“option1”:value1,
“option2”:value2,
…
});
官方文档地址: http://datatables.net/reference/option/
下面是一些常用的参数列表,比较常用或者有价值的标示为绿色.
功能参数(Features)
参数名
说明
参考值
默认值
autoWidth
定义是否由控件自动控制列宽
Boolean
true
deferRender
定义在render时是否仅仅render显示的dom,在显示大量数据的情况下强烈建议设为true,显示少量数据或者真翻页方案可以设为false,注意在设为true时无法通过函数获取所有行的dom对象—因为它们并不存在.
Boolean
false
info
控制总数信息(标准界面右下角显示总数和过滤条数的控件)的显隐
Boolean
true
lengthChange
控制是否能够调整每页的条数,如果设为false,标准的每页条数控制控件也会被隐藏.
Boolean
true
ordering
全局控制列表的所有排序功能.
Boolean
true
paging
全局控制列表的翻页功能,如果设为false,所有的默认翻页控件会被隐藏
Boolean
true
processing
控制是否在数据加载时出现”Processing”的提示,一般在远程加载并且比较慢的情况下才会出现. 样式需要定义,否则比较丑.
Boolean
false
scrollX
控制在列过多过宽是,是否出现水平滚动条.注意使用这个参数时最好关闭响应式设计
Boolean
false
scrollY
定义一个高度,当列表内容超过这个高度时,显示垂直滚动条,这个高度不算表头和翻页搜索等工具条的空间.支持数字或者css写法比如:
200或者’200px’
Number / String
无
searching
控制控件的搜索功能,如果为false,控件的搜索功能被完全禁用,而且默认搜索组件会被隐藏.
Boolean
true
serverSide
当设为true时,列表的过滤,搜索和排序信息会传递到Server端进行处理,实现真翻页方案的必需属性.反之,所有的列表功能都在客户端计算并执行
Boolean
false
数据参数(Data)
参数名
说明
参考值
data
以Javascript数组对象方式设定列表显示数据
数组对象
ajax
String模式: 直接传入一个string作为远程ajax请求路径
String
对象模式: 支持JQuery.ajax函数的参数设置,支持type,url等标准参数. 例如:
$('#example').dataTable( {
"ajax": {
"url": url,
"type": "POST"
}
} );
JQuery ajax 函数对应参数
ajax.data
和标准JQuery.ajax的data参数作用类似,但效果有所不同.仅当serverSide参数为true的时候,参数属性才有意义,当serverSide开启,DataTables组件会自行封装一个信息类发送给服务端,而ajax.data仅仅是对这个信息类进行调整和添加.
添加方式, ajax.data可以直接赋值一个对象,这个对象的属性会添加到原信息类里面去一起发送到服务端.例如:
$('#example').dataTable( {
"ajax": {
"url": "data.json",
"data": {
"user_id": 451
}
}
} );
另外一种选择是传入一个方法,方法的参数就是当前发送到服务器的信息类,在方法中可以修改这个信息类.
$('#example').dataTable( {
"ajax": {
"url": "data.json",
"data": function ( d ) {
d.extra_search = $('#extra').val();
}
}
} );
对象或者方法
ajax.dataSrc
定义服务器返回对象里面保存数据的属性名称,默认为data,也即是说,在返回的Json数据中,所有列表数据保存在data属性中,这个属性不太建议修改.
配置参数(Options)
参数名
说明
参考值
默认值
deferLoading
这个参数只有在ServerSide为Ture的时候才有作用,主要是针对列表已经通过HTML显示了一部分数据,而通知远程加载可以忽略这部分数据,在实际使用中这种情况并不常见.
Number /Array
false
destroy
设为ture时通知dataTable函数完全重新建立一个新的控件实例,在一个页面内反复对同一个控件加载dataTable函数并且想重新建立控件时使用.
Boolean
false
displayStart
列表初始显示的行索引,根据给出的行索引会自动翻页,比如一个每页10个的列表,那么给出20可以让其翻到第二页
Number
无
dom
比较复杂的配置项,简言之就是通过一个自定义的字符串来定义DataTables里面所有组件的显示,位置和显隐.
具体请详见:
http://datatables.net/reference/option/dom
String
“lfrtip”
lengthMenu
定义页面长度组件里面的选项.
Array
[ 10, 25, 50]
orderCellsTop
当然表头有多层td组成的时候,必须定义哪一个td的数据用于排序,false表示底部td,true表示顶部td. 比如以下情况:
1 2.1 2.2
true的时候排序会用2.1, false的时候排序会用2.2.
Boolean
false
orderClasses
定义是否排序的列进行高亮显示
Boolean
true
order
定义列表的初始排序设定,为一个2维数组,子数组包括2个值,列索引和排序方向(asc/desc): 例如
"order": [[ 0, 'asc' ], [ 1, 'asc' ]]
Array
[[0, 'asc']]
orderMulti
控制是否支持多重排序,如果为true,可以通过shift+点击列头实现多重排序,或者通过API实现,否则禁用该功能.
Boolean
true
orderFixed
自定义固定的排序策略,该策略在任何排序操作中总是起效.可以通过对一个列的固定排序(可以是隐藏的列)来定义列表默认的排序策略.
数组方式,定义优先排序策略,如:
"orderFixed": [ 0, 'asc' ]
该参数说明无论如何排序,永远先进行第一列的正向排序.
对象方式,可以利用关键字pre或post来定义这个规则是优先生效还是置后生效.
"orderFixed": {
"pre": [ 0, 'asc' ],
"post": [ 1, 'asc' ]
}
Array/Object
无
pageLength
定义初始的页长
Number
10
pagingType
定义翻页组件的样式(有4个选择):
simple - 只有上一页和下一页2个按钮
simple_numbers – 上一页,下一页和页码
full – 首页,末页,上一页,下一页4个按钮
full_numbers – 全部按钮和页面
String
simple_numbers
scrollCollapse
在设置了一定的scrollY值后起效,为true时,当列表内容不足以撑满scrollY的设定值时,列表高度会自动适应内容.
Boolean
false
search
定义列表的初始搜索/过滤条件
Search对象可以有以下属性:
Object
无
search.search
过滤字符串,注意在默认设置下,所有列的数据都会参与过滤.比如当这个属性为”a”的时候,任何一个列只要包含”a”的行就会被显示.为空表示全部
String
无
search.caseInsensitive
搜索是是否忽略大小写,true为忽略
Boolean
true
search.regex
定义搜索字符串是否为一个正则表达式
Boolean
fasle
search.smart
禁用获取启用DataTables控件内置的只能过滤算法,这个算法会把搜索字符串进行分割并只能搜索,关闭这个算法仅仅实现简单的字符串查找,false为关闭
Boolean
true
searchCols
分别定义每个列的过滤条件.该参数是一个对象数组,每个对象有2个属性:
search: 搜索字符串
escapeRegex: 是否是正则表达式
注意不需要设置过滤的列也需要用null占位,比如:
"searchCols": [
null,
{ "search": "My filter" },
null,
{ "search": "^[0-9]", "escapeRegex": false }
]
Array
无
stripeClasses
定义一个字符串数组,在显示行的时候依次使用里面的字符串作为行的class
Array
‘odd’ & ‘even’
列定义参数(Columns)
参数名
说明
参考值
默认值
columns
列的初始状态的定义,该参数一个是对象数组,每一个对象元素定义一个列.注意,不需定义的列也必须以null占位,比如:
"columns": [
{ "searchable": false },
null,
null
]
Array
无
columnDefs
和columns设置非常类似,但可以通过targets属性可以根据灵活的选择需要设定的列.比columns更加灵活.比如:
"columnDefs": [ {
"targets": 0,
"searchable": false
} ]
targets可以有多种写法:
0或者正整数(可用数组): 表示正向列的索引
负数(可用数组): 表示反向列的索引
字符串: 匹配th的class来选择列.
"_all": 所有列,也是默认值.
columns.data
列的数据名,对应数据里面的属性名
String
无
columns.name
给列设置独立的名称,目前看意义不大
String
无
columns.orderable
设置列是否允许排序
Boolean
true
columns.searchable
设置列是否允许过滤
Boolean
true
columns.type
通过设置列的类型让控件在排序和过滤这个列是能更好的处理这个列的数据,比如日期,货币等.具体种类很多请参考这里:
http://datatables.net/reference/option/columns.type
String
无
columns.visible
设置列的可见性,true为显示
Boolean
true
columns.width
强行设置列的宽度,支持数字和任何CSS写法,比如20%.
String
无
columns.render
非常有用的函数,自定义列的内容.该属性比较常见的用法是函数用法,通过这个函数可以自定义改造列的任何内容,如果要在列中显示比较复杂的内容,这是一个比较好的选择.比如在列中加入功能按钮.
例如:
"render": function ( data, type, row, meta ) {
return '<a href="'+data+'">Download</a>';
}
4个属性的意思是:
data : 当前单元格的数据
type: 当前列的类型
row: 当前行完整的数据对象
meta: 为一个子对象,包含3个属性
row: 当前行的索引
col: 当前列的索引
settings: 当前DataTables控件的setttings对象
Function
无
- jquery datatables 的 配置参数
- jQuery插件---datatables参数配置详解
- jQuery DataTables的服务器端一般配置+整合多列多参数多字段筛选,排序(实例)
- datatables参数配置详解
- datatables参数配置详解
- datatables参数配置详解
- datatables参数配置详解
- Jquery datatables 配置记录
- jQuery表格插件DataTables 的服务器端参数解析工具
- Datatables的各类参数
- jQuery 的插件 dataTables
- jQuery dataTables 的使用
- jQuery dataTables 的使用
- jQuery dataTables 的使用
- jquery DataTables的使用
- jQuery dataTables 的使用
- jquery-dataTables的使用
- Jquery DataTables的使用
- 一个简单的递归实现数组组元素的组合
- iOS 推送问题 registerForRemoteNotificationTypes: is not supported in iOS 8.0 and later
- Netty开源库的初步使用
- android存储方式(内部存储、外部存储)
- C语言队列
- jquery datatables 的 配置参数
- RxJava的初学随笔(一)
- Set(HashSet、TreeSet)、泛型
- java自带线程池和队列详细讲解
- fatal: Not a git repository (or any of the parent directories): .git
- stm32库函数学习篇---NVIC与外部中断
- Makefile学习
- 25 不使用加减乘除做加法
- 10个重要的Linux ps命令实战