[英]jQuery dataTables - TableTools: hide row and columns while export
使用TableTools從DataTables導出時,如何排除某些列和行。
| id | data | date | Status |
|----|-----------|----------------|--------|
| 1 | some data | october 2014 | ok |
| 2 | some data | september 2014 | |
我想隱藏狀態列和沒有狀態為“ ok”的行。 解決該問題的任何技巧將不勝感激。
據我所知,沒有一個“魔術”選項可以解決這兩個問題。 解決每個問題的選項似乎互相排斥(如果有人可以反駁,那將是很好的選擇)。 但是我找到了一個解決方案(為避免重復的代碼,我只為復制按鈕顯示它):
var table = $("#example").DataTable({
dom: 'T<"clear">lfrtip',
tableTools: {
sSwfPath: "http://cdn.datatables.net/tabletools/2.2.3/swf/copy_csv_xls.swf",
aButtons: [
{
sExtends : "copy",
mColumns : [0, 1, 2],
fnInit : function( nButton, oConfig ) {
$(nButton).on('mousedown', function() {
table.column(3).search('ok').draw();
});
$(nButton).on('mouseup', function() {
table.column(3).search('').draw();
});
},
oSelectorOpts : { filter: 'applied', order: 'current' },
}
]}
});
說明 :
mColumns : [0, 1, 2]
->僅導出id
, data
和date
列
fnInit
>初始化按鈕時可以執行某些操作
$(nButton).on('mousedown', function() {
->過濾狀態為“ ok”的行
$(nButton).on('mouseup', function() {
->導出完成后取消設置“ ok”過濾器
oSelectorOpts : { filter: 'applied', order: 'current' }
->將表工具設置為僅按對用戶顯示的順序導出過濾后的行。
使用mousedown
/ mouseup
的原因是,以上操作不適用於click
或按鈕功能fnComplete
。
將此功能添加到所有按鈕,例如xls
, csv
, pdf
和print
。 我認為 print
按鈕有問題。 據我所知,它通過遵循按鈕指令來解決“問題”。 不知道最近是否已解決此問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.