选项
DataTables 的 大量选项 可用于自定义其向最终用户展示界面和可用功能的方式。这是通过其在初始化时设置的配置选项完成的。
DataTables 扩展 还各自提供可在 DataTables 配置对象中设置的选项。
设置选项
通过将所需定义的选项作为对象传递给 DataTables 构造函数,可配置 DataTables。例如
$('#example').DataTable( {
paging: false
} );
这使用 paging
选项禁用表格的分页。
假设您希望启用表格中的滚动 - 您将使用 scrollY
选项
$('#example').DataTable( {
scrollY: 400
} );
除此之外,您可以将多个选项组合成一个对象。在此情况下,我们启用滚动并禁用分页
$('#example').DataTable( {
paging: false,
scrollY: 400
} );
传入的对象只是一个标准的 Javascript 对象,并且可以这样对待。添加任意数量的选项!
有关 DataTables 可用的全部配置选项,请参阅本网站的 选项参考部分。
非 jQuery 选项
如果您通过 DataTables 1.11 中提供的 new DataTable()
选项初始化 DataTables,则可以使用构造函数的第二个参数传递配置选项
new DataTable( '#example', {
paging: false,
scrollY: 400
} );
HTML 5 数据属性
自 v1.10.5 起,DataTables 还可以使用从 HTML5 data-*
属性读取的初始化选项。这提供了一种直接在 HTML 中设置选项的机制,而不是使用 Javascript(如上所示)。例如,考虑以下表格
<table data-order='[[ 1, "asc" ]]' data-page-length='25'>
<thead>
<tr>
<th>Name</th>
<th>Position</th>
<th>Office</th>
<th>Age</th>
<th>Start date</th>
<th data-class-name="priority">Salary</th>
</tr>
</thead>
</table>
当 DataTables 在此表格上初始化时,它会将 pageLength
设置为 25,自动按第二列排序 (order
),并在表格的最后一列中设置类名 (columns.className
)。
将 data-*
属性用作初始化选项时,有两个重要事项需要考虑
- jQuery 会自动将短划线字符串转换为 DataTables 使用的驼峰式符号(例如,对
pageLength
使用data-page-length
)。 - 如果在属性内部使用字符串,必须使用双引号(因此整个属性使用单引号)。这是 jQuery 由于处理 JSON 数据而提出的另一项要求。
常用选项
一些您可能觉得特别有用的选项如下
ajax
- Ajax 数据源配置data
- Javascript 数据源serverSide
- 启用服务器端处理columns.data
- 数据源在对列的选项scrollX
- 水平滚动scrollY
- 垂直滚动- 选项的完整列表
设置默认值
在使用多个 DataTables 的项目中,通常将初始默认值设置为常见值非常有用(例如,您可能想将 dom
选项设置为一个常见值,以便所有 table 获取相同的布局)。可以使用 $.fn.dataTable.defaults
对象来完成此操作。此对象将获取与 DataTables 初始化对象相同的所有参数,但是在这种场景下,您为 DataTables 的所有未来初始化设置默认值。
在此示例中,我们禁用 DataTables 的默认的搜索和排序功能,但是当表初始化后,它会带着启用的命令初始化(覆盖默认值)。
// Disable search and ordering by default
$.extend( $.fn.dataTable.defaults, {
searching: false,
ordering: false
} );
// For this specific table we are going to enable ordering
// (searching is still disabled)
$('#example').DataTable( {
ordering: true
} );
扩展
许多 DataTables 扩展 也可以通过 DataTables 配置对象进行配置,初始化扩展并根据需要配置扩展。可用的属性取决于所使用的扩展,并且必须加载扩展 Javascript 才能使这些选项生效。
例如,考虑 Select 扩展,它让最终用户能够动态地选择表格中的行、列和单元格。它展示了 select
选项,可以将其设置为 真
以启用选择
$('#myTable').DataTable( {
select: true
} );
把 select
选项作为对象也可以提供精细控制选择选项,并且当然可以与其他 DataTables 选项相结合。
选项参考 会提供来自 DataTables 和扩展的一个可搜索的所有选项列表。