Кнопки Datatables исчезают после перезагрузки
Я пытаюсь сделать кнопки Excel, PDF и Print для моего результата Datatables, ну, я сделал это, но когда я перезагружаю содержимое datatable, кнопки Excel и Print исчезают,
Так я отправляю информацию в таблицу данных.
$.ajax({
type: 'POST',
url: 'Inicio.aspx/ContactsList',
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
FillDataTable(data, 'Listado de Todos');
}
});
Вот метод моей дататабельной
function FillDataTable(data, reporte) {
$('#GridActivos').dataTable({
dom: 'Bfrtip',
destroy: true,
buttons: [
{
extend: 'excel',
customize: function (xlsx) {
var sheet = xlsx.xl.worksheets['sheet1.xml'];
$('row c[r*="10"]', sheet).attr('s', '25');
},
title: reporte
},
{
extend: 'pdf',
title: reporte
},
{
extend: 'print',
customize: function (win) {
$(win.document.body)
.css('font-size', '10pt')
.prepend(
'<img src="http://datatables.net/media/images/logo-fade.png" style="position:absolute; top:0; left:0;" />'
);
$(win.document.body).find('table')
.addClass('compact')
.css('font-size', 'inherit');
},
title: reporte
},
],
select: {
style: 'single'
},
bProcessing: true,
"aaData": JSON.parse(data.d),
"aoColumns": [
{ "mDataProp": "ID" },
{ "mDataProp": "NOMBRES" },
{ "mDataProp": "Sexo" },
{ "mDataProp": "Edad" },
{ "mDataProp": "Puntuacion" },
{ "mDataProp": "NivelEconomico" },
{ "mDataProp": "Hacinamiento" },
{ "mDataProp": "RelM" },
{ "mDataProp": "RelP" },
{ "mDataProp": "RelT" }
]
});
}
вот изображение, когда вы нажимаете кнопку поиска в первый раз Imagen1
вот когда я снова нажимаю Imagen2
1 ответ
Решение
Это ошибка, над которой работают люди из DataTables, пока я решаю ее таким образом, если кто-то знает другой способ сделать это, дайте мне знать, пожалуйста
var buttons = [];
$.each($('#GridActivos').DataTable().buttons()[0].inst.s.buttons,
function () {
buttons.push(this);
});
$.each(buttons,
function () {
$('#GridActivos').DataTable().buttons()[0].inst.remove(this.node);
});