2016-04-30 4 views
1

У меня есть следующие инициализации для моих DataTables:Исключить столбец экспорта в DataTables Кнопки

$(document).ready(function() { 
    $('.datatable').dataTable({ 
     dom: 'Bfrtip', 
     buttons: [ 
        { 
         extend: 'copyHtml5', 
         text: 'Copy Content to Clipboard', 
         className: 'btn', 
        }, 
        { 
         extend: 'excelHtml5', 
         text: 'XLS Download', 
         className: 'btn', 
         "mColumns": [ 8 ] 
        }, 
        { 
         extend: 'csvHtml5', 
         text: 'CSV Download', 
         className: 'btn', 
         "mRender": function (data, type, row) { 
          console.log(data); 
         } 

        }, 
     ], 

    }); 
}); 

Я использую DataTable кнопки, как tabletools осуждается из таблицы данных и перепробовал множество вариантов:

"mRender": function (data, type, row) { 
           console.log(data); 
          } 

Также попытался:

"mColumns": [ 8 ] 

Я пробовал применять различные параметры в различных w ай, но в моем понимании чего-то не хватает.

Спасибо.

ответ

4

Ищите exportOptions.columns, exportOptions, позвольте вам определить column-selector так же, как и для конкретных столбцов для фильтрации и т. Д. Пример, включают в себя только третий и четвертый столбец в экспорте PDF:

$('#example').DataTable({ 
    dom: 'Bfrtip', 
    buttons: [ 
    { 
     extend: 'pdf', 
     exportOptions: { 
     columns: [ 2, 3 ] 
     } 
    } 
    ] 
}); 

демо ->https://jsfiddle.net/r9Lqbhz4/

Другие примеры:

exportOptions: { 
    columns: ':visible' //visible rows 
} 
exportOptions: { 
    columns: ['.export', '.important'] //by class selector 
} 

И так далее, см выше column-selector page,

Согласно комментарию: Все видимые столбцы, за исключением одного, в частности:

exportOptions: { 
    columns: ':visible:not(:eq(2))' 
} 

Включает в себя все видимые столбцы, кроме столбца №2, третий столбец. Имейте в виду, что индекс столбца eq() основан на видимых индексах столбцов.

+0

Есть ли опция «не» для отображения всех видимых столбцов, кроме одного в частности? – pbarney

+0

@pbarney, Это был хороший! Обновите ответ. Для этого вы можете использовать jQuery ': not' и': eq'. – davidkonrad