如何在初始化后禁用 DataTables 分页?
How to disable DataTables paging after initialization?
我有一个启用了分页的数据表,我需要禁用此设置并通过按一个按钮显示所有结果而不使用分页器。
我试图访问已定义的设置,将分页更改为 false,并重绘 table,但它不起作用。我搜索并尝试了类似的论坛帖子但没有成功。
知道如何实现吗?
Here's a demo 使用我的无效代码
HTML:
<div id="main_wrapper">
<button class="form_button destroy_pager" type="button" onclick="" title="Destroy pager">Destroy pager</button>
<table id="example" cellpadding="0" cellspacing="0" border="0">
<thead>
<tr>
<th>Column 1</th>
<th>Column 2</th>
<th>Column 3</th>
<th>Column 4</th>
</tr>
</thead>
<tbody>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
</tbody>
</table>
</div>
jQuery:
$(document).ready(function() {
var oTable = $('#example').DataTable({
'bPaginate': true,
'iDisplayLength': 5
});
$('button.destroy_pager').on('click', function() {
var oSettings = oTable.settings;
oSettings.bPaginate = false;
oTable.draw();
});
});
编辑: 我需要在初始化 DataTable 时启用寻呼机。问题是我必须在按下按钮后禁用它。
提前致谢
$('#example').DataTable({
'bPaginate': false
});
使用上面的代码。
您应该销毁并初始化数据表,并在单击
按钮时将 bPaginate
选项设置为 false
$(document).ready(function() {
var table = $('#example');
var tableOptions = {
'bPaginate': true,
'iDisplayLength': 5
};
table.DataTable(tableOptions);
$('button.destroy_pager').on('click', function() {
table.DataTable().destroy()
tableOptions.bPaginate = false;
table.DataTable(tableOptions);
});
});
使用sDom
选项。尝试 sDom: 'ft'
选项。这对我有用。
看这里:http://datatables.net/usage/options#sDom
我想在设置每页行数之前准备 table 样式。但这让我想知道 datatable api 如何存储元素样式。
如果我可以同时设置 table 样式和声明数据 table 对象。这将使我的代码性能更高
我有一个启用了分页的数据表,我需要禁用此设置并通过按一个按钮显示所有结果而不使用分页器。
我试图访问已定义的设置,将分页更改为 false,并重绘 table,但它不起作用。我搜索并尝试了类似的论坛帖子但没有成功。
知道如何实现吗?
Here's a demo 使用我的无效代码
HTML:
<div id="main_wrapper">
<button class="form_button destroy_pager" type="button" onclick="" title="Destroy pager">Destroy pager</button>
<table id="example" cellpadding="0" cellspacing="0" border="0">
<thead>
<tr>
<th>Column 1</th>
<th>Column 2</th>
<th>Column 3</th>
<th>Column 4</th>
</tr>
</thead>
<tbody>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
</tbody>
</table>
</div>
jQuery:
$(document).ready(function() {
var oTable = $('#example').DataTable({
'bPaginate': true,
'iDisplayLength': 5
});
$('button.destroy_pager').on('click', function() {
var oSettings = oTable.settings;
oSettings.bPaginate = false;
oTable.draw();
});
});
编辑: 我需要在初始化 DataTable 时启用寻呼机。问题是我必须在按下按钮后禁用它。
提前致谢
$('#example').DataTable({
'bPaginate': false
});
使用上面的代码。
您应该销毁并初始化数据表,并在单击
按钮时将bPaginate
选项设置为 false
$(document).ready(function() {
var table = $('#example');
var tableOptions = {
'bPaginate': true,
'iDisplayLength': 5
};
table.DataTable(tableOptions);
$('button.destroy_pager').on('click', function() {
table.DataTable().destroy()
tableOptions.bPaginate = false;
table.DataTable(tableOptions);
});
});
使用sDom
选项。尝试 sDom: 'ft'
选项。这对我有用。
看这里:http://datatables.net/usage/options#sDom
我想在设置每页行数之前准备 table 样式。但这让我想知道 datatable api 如何存储元素样式。 如果我可以同时设置 table 样式和声明数据 table 对象。这将使我的代码性能更高