Pagination DataTables使用不同的pageLength参数重新加载表

Pagination DataTables使用不同的pageLength参数重新加载表,pagination,datatables,Pagination,Datatables,基于这个问题 我使用以下代码初始化我的表: var table_entity=$('#myTable').DataTable({ “pageLength”:getParameterByName('pageLength'),//从查询字符串获取参数 fixedHeader:true, “ajax”:{ “url”:myUrl, “数据”:功能(d){ d、 type=$('#mytype').val(); } } }); 因此,我知道如何使用不同的ajax参数重新加载数据表。现在我需要使用不同的

基于这个问题

我使用以下代码初始化我的表:

var table_entity=$('#myTable').DataTable({
“pageLength”:getParameterByName('pageLength'),//从查询字符串获取参数
fixedHeader:true,
“ajax”:{
“url”:myUrl,
“数据”:功能(d){
d、 type=$('#mytype').val();
}
}
});
因此,我知道如何使用不同的ajax参数重新加载数据表。现在我需要使用不同的
pageLength
param重新加载它,它不属于ajax部分,并且在datatables
init
阶段记录。我尝试在重新加载时使用以下代码直接传递它:

table_entity.ajax.reload({
“pageLength”:77//一些与初始参数不同的新参数
});
但它不起作用,该表被重新加载初始
pageLength
值。任何关于如何修复它的想法都是受欢迎的。多谢各位

UPD_1

设法做到了这一点

第一:完全销毁表格:

$('#MyTable').DataTable().destroy();
$('#MyTable tbody').empty()//注意这里的主体
第二步:使用更新的参数重新输入表格:

table_data.displayStart=Number(getParameterByName('displayStart');
表_data.pageLength=Number(getParameterByName('pageLength');
表_data.iDisplayStart=Number(getParameterByName('displayStart');
表_data.iDisplayLength=Number(getParameterByName('pageLength');
$(“#MyTable”).DataTable(table#U数据);
注2参数-
iDisplayStart
iDisplayLength
此处

是否可以在不销毁表的情况下执行相同的操作,但要在
ajax.reload
阶段执行?多谢各位

是否可以在不破坏表的情况下执行相同的操作,但是 在ajax.reload阶段

您可以挂接到事件中并从那里进行更新。例如:

$(“#示例”).on('xhr.dt',函数(e,settings,json,xhr){
table.page.len(json.data.length).draw()
})
将动态地将页面长度设置为最大值,即
数据的长度
。演示->

因此,您可以使用
table.page.len(77.draw()
或其他任何工具
xhr.dt
在每个AJAX请求之后触发


我不清楚你的新
pageLength
的确切来源。如果它是返回的JSON的一部分(我怀疑),您可以执行
table.page.len(JSON.pageLength.draw()

谢谢您的回答,是否可以用与pageLength相同的方式更新page start参数?@Jack,您可以用相同的方式使用
table.page(JSON.displayStart).draw('page')
请参见