Ниже мой сценарий.Я использую пользовательский фильтр даты и времени.При первой загрузке он будет загружать пустые данные, потому что я хотел избежать загрузки данных при открытии этой страницы, пока мы не отфильтруем ее, пока не появятся отфильтрованные данные.Но экспортные вещи, кажется, заняли только первые страницы данных.Например, 400 строк данных загружаются после фильтра, и при экспорте в формате Excel вместо 400 строк будет занято 10 строк данных.
$(document).ready(function() {
$('#datetimepicker').datetimepicker({
format: 'yyyy-mm-dd HH:mm:ss'
});
$('#datetimepicker1').datetimepicker({
format: 'yyyy-mm-dd HH:mm:ss'
});
fetch_data('no');
var buttonCommon =
{
exportOptions:
{
modifier: {
page: 'all'
},
format: {
body: function ( data, row, column, node )
{
return column === 10 ?
data.replace( /[$,]/g, '' ) :
data;
}
}
}
};
function fetch_data(is_date_search, datetimepicker='', datetimepicker1='')
{
var dataTable = $('#demo-custom-toolbar').DataTable( {
"responsive": true,
"processing": true,
"serverSide": true,
"ajax":{
url :"read.php", // json datasource
type: "post",
data:{
is_date_search:is_date_search, datetimepicker:datetimepicker, datetimepicker1:datetimepicker1
},
// method , by default get
error: function()
{ // error handling
$(".employee-grid-error").html("");
$("#demo-custom-toolbar").append('<tbody class="employee-grid-error"><tr><th colspan="3">No data found in the server</th></tr></tbody>');
$("#employee-grid_processing").css("display","none");
}
},
rowReorder: {
selector: 'td:nth-child(2)'
},
responsive: true,
dom: 'lBfrtip',
buttons: [
$.extend( true, {}, buttonCommon, {
extend: 'copyHtml5'
} ),
$.extend( true, {}, buttonCommon, {
extend: 'excelHtml5'
} ),
$.extend( true, {}, buttonCommon, {
extend: 'pdfHtml5'
} )
]
} );
}
//$("#employee-grid_filter").css("display","none"); // hiding global search box
$('#search').click(function(){
var start_date = $('.datetimepicker').val();
var end_date = $('.datetimepicker1').val();
if(start_date !='' && end_date !='')
{
$('#demo-custom-toolbar').DataTable().destroy();
fetch_data('yes', start_date, end_date);
}
else
{
alert("Both Date is Required");
}
});
} );
Я попытался поместить этот код ниже, и он не работаета также.
exportOptions: {
modifier: {
page: 'current'
}
},