我试图将Excel,PDF和打印按钮添加到我的数据表结果中, 好吧,我做完了,但是,当我重新加载数据表的内容excel和打印按钮消失,
这就是我将信息发送到数据表的方式
$.ajax({
type: 'POST',
url: 'Inicio.aspx/ContactsList',
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
FillDataTable(data, 'Listado de Todos');
}
});
这是我的数据表的Methot
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
答案 0 :(得分: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);
});