按鈕選項
此擴充功能現已停用,並由 Buttons 和 Select 擴充功能取代。此文件僅保留供舊版參考。新專案應優先使用 Buttons 和 Select,而非 TableTools。
通常在使用 TableTools 時,您會希望修改預定義按鈕的行為,以符合您的網站或 Web 應用程式所需互動。這可以透過使用 TableTools 提供的每個按鈕類型的選項來實現。TableTools 內建了多種按鈕類型:flash、print、text、ajax 和 collection,並且每個按鈕都有其自己的屬性,如下所述。
- 通用選項
- Ajax 選項
- 集合選項
- Flash 選項
- 列印選項
- 文字選項
在 TableTools 中修改按鈕屬性的基本原則是,您定義一個自訂按鈕,基於其中一個預定義的類型並擴充它(根據需要覆蓋預設屬性)。在下面的示例中,我們透過擴充「文字」預定義按鈕並設定其文字來建立一個新按鈕,但將所有其他屬性保持不變。
通用選項(適用於所有按鈕類型)
fnCellRender 顯示詳細資訊
|
用於修改透過 fnGetTableData API 方法(用於匯出資料)從表格讀取的資料。這允許在匯出資料之前對資料進行預處理 - 例如,去除 HTML 的某些部分或在其他資料後附加字尾。 |
預設值 |
|
輸入參數 |
- * - 來自儲存格資料的值
- int - 正在讀取的欄號
- node - 該列的 TR 元素
- int - 該列的內部 DataTables 快取索引(基於 fnGetPosition)
|
回傳參數 |
要匯出的資料 |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "text", "fnCellRender": function ( sValue, iColumn, nTr, iDataIndex ) { // 如果欄位 5,則附加文字 'TableTools' if ( iColumn === 5 ) { return sValue +" TableTools"; } return sValue; } } ] } } ); } );
|
fnClick 顯示詳細資訊
|
當按鈕被點擊時的回呼函式。 |
預設值 |
|
輸入參數 |
- node - 已啟用回呼的按鈕元素
- object - 按鈕定義物件,包含按鈕的所有初始化屬性。
- object - 用於控制 Flash 按鈕的 Zeroclipboard 實例。請注意,對於非 Flash 的按鈕,此值為 null。
|
回傳參數 |
void |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "text", "fnClick": function ( nButton, oConfig, oFlash ) { alert( '滑鼠點擊' ); } } ] } } ); } );
|
fnComplete 顯示詳細資訊
|
當按鈕需要執行的任何動作完成時,會啟用此回呼函式。這對於基於 Flash 的按鈕特別有用,因為它會在 Flash 執行的任何動作之後啟用(例如儲存檔案)。 |
預設值 |
|
輸入參數 |
- node - 已啟用回呼的按鈕元素
- object - 按鈕定義物件,包含按鈕的所有初始化屬性。
- object - 用於控制 Flash 按鈕的 Zeroclipboard 實例。請注意,對於非 Flash 的按鈕,此值為 null。
- string - 從 Flash 影片片段回傳的文字。
|
回傳參數 |
void |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "text", "fnComplete": function ( nButton, oConfig, oFlash, sFlash ) { alert( '按鈕動作完成' ); } } ] } } ); } );
|
fnInit 顯示詳細資訊
|
當按鈕由 TableTools 程式碼建立和初始化時呼叫的回呼函式。這允許在將按鈕插入 DOM 之前修改按鈕(例如新增類別)。 |
預設值 |
|
輸入參數 |
- node - 已啟用回呼的按鈕元素
- object - 按鈕定義物件,包含按鈕的所有初始化屬性。
|
回傳參數 |
void |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "text", "fnInit": function ( nButton, oConfig ) { alert( '按鈕已初始化' ); } } ] } } ); } );
|
fnMouseout 顯示詳細資訊
|
當滑鼠離開按鈕時的回呼函式。 |
預設值 |
|
輸入參數 |
- node - 已啟用回呼的按鈕元素
- object - 按鈕定義物件,包含按鈕的所有初始化屬性。
- object - 用於控制 Flash 按鈕的 Zeroclipboard 實例。請注意,對於非 Flash 的按鈕,此值為 null。
|
回傳參數 |
void |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "text", "fnMouseout": function ( nButton, oConfig, oFlash ) { alert( '滑鼠移開' ); } } ] } } ); } );
|
fnMouseover 顯示詳細資訊
|
當滑鼠懸停在按鈕上方時的回呼函式。 |
預設值 |
|
輸入參數 |
- node - 已啟用回呼的按鈕元素
- object - 按鈕定義物件,包含按鈕的所有初始化屬性。
- object - 用於控制 Flash 按鈕的 Zeroclipboard 實例。請注意,對於非 Flash 的按鈕,此值為 null。
|
回傳參數 |
void |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "text", "fnMouseover": function ( nButton, oConfig, oFlash ) { alert( '滑鼠移入' ); } } ] } } ); } );
|
fnSelect 顯示詳細資訊
|
當在表格中選取列時呼叫的函式。這允許在表格列選取狀態變更時對按鈕執行操作(例如新增和移除類別)。 |
預設值 |
|
輸入參數 |
- node - 已啟用回呼的按鈕元素
- object - 按鈕定義物件,包含按鈕的所有初始化屬性。
- node - 被點擊的 TR 列節點。
|
回傳參數 |
void |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "text", "fnSelect": function ( nButton, oConfig, nRow ) { alert( '已選取列' ); } } ] } } ); } );
|
oSelectorOpts 顯示詳細資訊
|
控制要從來源 DataTable 使用的資料。DataTables 能夠透過其 $ API 方法選取要使用的列以及它們的使用順序。此選項也為 TableTools 匯出按鈕提供此功能,因此您可以僅匯出目前的資料(例如)。 |
預設值 |
|
類型 |
物件 |
程式碼範例 |
$('#example').dataTable( {
"sDom": 'T<"clear">lfrtip',
"oTableTools": {
"aButtons": [
{
"sExtends": "copy",
"sButtonText": "Copy to clipboard",
"oSelectorOpts": {
page: 'current'
}
}
]
}
} );
|
sAction 顯示詳細資訊
|
動作會告知 TableTools 應將新建立的按鈕視為哪種按鈕 - 可以使用該按鈕執行的動作將取決於此設定。它可以是下列其中一項:「flash_save」、「flash_copy」、「flash_pdf」、「print」、「text」或「collection」。 |
預設值 |
|
類型 |
字串 |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "xls", "sAction": "flash_save" } ] } } ); } );
|
sButtonClass 顯示詳細資訊
|
設定按鈕處於非滑鼠移入狀態時的類別。 |
預設值 |
|
類型 |
字串 |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "csv", "sButtonClass": "my_button_class" } ] } } ); } );
|
sButtonText 顯示詳細資訊
|
將按鈕的文字設定為自訂字串。 |
預設值 |
|
類型 |
字串 |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "csv", "sButtonText": "儲存 CSV 檔案!" } ] } } ); } );
|
sExtends 顯示詳細資訊
|
通常使用預定義的按鈕並根據需要擴充它們會很有用。此屬性應與其中一個預定義按鈕匹配,以準確提供此功能。 |
預設值 |
|
類型 |
字串 |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "text", "sButtonText": "Hello world" } ] } } ); } );
|
Ajax 按鈕選項
bFooter 顯示詳細資訊
|
是否在匯出的資料中包含頁尾。 |
預設值 |
true |
類型 |
布林值 |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "ajax", "bFooter": false } ] } } ); } );
|
bHeader 顯示詳細資訊
|
是否在匯出的資料中包含頁首。 |
預設值 |
true |
類型 |
布林值 |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "ajax", "bFooter": false } ] } } ); } );
|
fnAjaxComplete 顯示詳細資訊
|
這是 Ajax 載入完成時呼叫的方法。它是在 Ajax 按鈕的 fnClick 函式中定義的。 |
預設值 |
|
輸入參數 |
根據 $.ajax() |
回傳參數 |
void |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "ajax", "fnAjaxComplete": function ( XMLHttpRequest, textStatus ) { alert( 'Ajax 完成' ); } } ] } } ); } );
|
mColumns 顯示詳細資訊
|
此參數定義應使用哪些欄作為匯出的資料來源。該參數可以是值為「all」、「visible」或「hidden」的字串 - 或包含要匯出的欄索引的整數陣列。此外,從 TableTools 2.2.3 開始,它也可以是一個回傳要包含在輸出中的欄索引陣列的函式。該函式採用單一引數,即 DataTables 設定物件,可用於取得 API 實例。 |
預設值 |
全部 |
類型 |
混合(字串、整數陣列或函式) |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "ajax", "sButtonText": "特殊欄位", "mColumns": [ 0, 1, 4 ] }, { "sExtends": "ajax", "sButtonText": "可見欄位", "mColumns": "visible" } ] } } ); } ); $(document).ready(function() { $('#example').DataTable( { dom: 'T<"clear">lfrtip', tableTools: { aButtons: [ { sExtends: 'copy', mColumns: function ( ctx ) { var api = new $.fn.dataTable.Api( ctx ); return api.columns( '.selected' ).indexes().toArray(); } } ] } } ); } ); |
sAjaxUrl 顯示詳細資訊
|
Ajax 按鈕的預設「fnClick」函式使用此參數來定義應將 Ajax 請求傳送到哪裡。 |
預設值 |
/xhr.php |
類型 |
字串 |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "ajax", "sAjaxUrl": "remote.php" } ] } } ); } );
|
sFieldBoundary 顯示詳細資訊
|
設定 CSV 欄位的邊界字元。通常您會希望它是一個單引號,但變更它可能會很有用。 |
預設值 |
' |
類型 |
字串 |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "ajax", "sFieldBoundary": '"' } ] } } ); } );
|
sFieldSeperator 顯示詳細資訊
|
定義要用作 CSV 欄位欄位分隔符號的字元。通常這是逗號... |
預設值 |
, |
類型 |
字串 |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "ajax", "sFieldSeperator": "-" } ] } } ); } );
|
集合按鈕選項
aButtons 顯示詳細資訊
|
TableTools 中的集合是一個特殊的按鈕,當啟用時,它會顯示一個「子按鈕」的下拉清單。子按鈕由 aButtons 陣列定義,並採用與最上層按鈕完全相同的參數選項。 |
預設值 |
|
類型 |
陣列 |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ "copy", "print", { "sExtends": "collection", "sButtonText": "儲存", "aButtons": [ "csv", "xls", "pdf" ] } ] } } ); } );
|
Flash 按鈕選項
bBomInc 顯示詳細資訊
|
定義是否應在檔案開頭包含位元組順序標記 (BOM)。 |
預設值 |
|
類型 |
布林值 |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "csv", "bBomInc": true } ] } } ); } );
|
bFooter 顯示詳細資訊
|
是否在匯出的資料中包含頁尾。 |
預設值 |
|
類型 |
布林值 |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "csv", "bFooter": false } ] } } ); } );
|
bHeader 顯示詳細資訊
|
是否在匯出中包含表格頁首。 |
預設值 |
|
類型 |
布林值 |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "csv", "bHeader": false } ] } } ); } );
|
bSelectedOnly 顯示詳細資訊
|
當此選項設定為 true 時,從表格收集的資料將僅來自最終使用者選取的列(使用 sRowSelect 選項)- 所有其他資料將被捨棄(即不會在儲存/複製中使用)。如果沒有選取任何列,則會使用所有資料。 |
預設值 |
false |
類型 |
布林值 |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "sRowSelect": "multi", "aButtons": [ { "sExtends": "csv", "bSelectedOnly": true } ] } } ); } );
|
mColumns 顯示詳細資訊
|
此參數定義哪些欄位應作為匯出資料的來源。此參數可以是字串,其值為 'all'、'visible'、'hidden' 或 'sortable' - 或是包含要匯出欄位索引的整數陣列。 |
預設值 |
|
類型 |
混合 (字串或整數陣列) |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "csv", "sButtonText": "特殊欄位", "mColumns": [ 0, 1, 4 ] }, { "sExtends": "csv", "sButtonText": "可見欄位", "mColumns": "visible" } ] } } ); } );
|
sCharSet 顯示詳細資訊
|
此參數定義儲存檔案將使用的字元集。它可以採用 "utf8" 或 "utf16le" 的值。通常您會想使用 "utf8",但 "utf16le" 對於儲存要由 Excel 讀取的檔案很有用。 |
預設值 |
|
類型 |
字串 |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "csv", "sCharSet": "utf16le" } ] } } ); } );
|
sFieldBoundary 顯示詳細資訊
|
設定 CSV 欄位的邊界字元。通常您會希望它是一個單引號,但變更它可能會很有用。 |
預設值 |
|
類型 |
字串 |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "csv", "sFieldBoundary": '"' } ] } } ); } );
|
sFieldSeperator 顯示詳細資訊
|
定義要用於 CSV 欄位的欄位分隔符號的字元。通常這是一個逗號(因此稱為 CSV!)。 |
預設值 |
|
類型 |
字串 |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "csv", "sFieldSeperator": "-" } ] } } ); } );
|
sFileName 顯示詳細資訊
|
此參數定義要儲存的檔案名稱。特殊字元 "*" 將被 HTML 文件中的 "TITLE" 標籤取代(如果有的話)。否則,您可以使用此參數定義要使用的檔案名稱。 |
預設值 |
|
類型 |
字串 |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "csv", "sFileName": "TableTools - *.csv" } ] } } ); } );
|
sNewLine 顯示詳細資訊
|
定義用於表示匯出資料中換行符號的字元。特殊字串 "auto" 可用於自動偵測應使用哪個換行字元(例如,在 Windows 上是 \r\n,在其他任何系統上是 \n)。 |
預設值 |
|
類型 |
字串 |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "csv", "sNewLine": "auto" } ] } } ); } );
|
sPdfMessage 顯示詳細資訊
|
一個自由文字輸入,可用於向 PDF 匯出新增自訂描述/摘要。 |
預設值 |
空字串
|
類型 |
字串 |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ "copy", "csv", "xls", { "sExtends": "pdf", "sPdfMessage": "您的自訂訊息會在這裡顯示。" } "print" ] } } ); } );
|
sPdfOrientation 顯示詳細資訊
|
設定 PDF 輸出的紙張方向。 |
預設值 |
直向 |
類型 |
字串('landscape' 或 'portrait') |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ "copy", "csv", "xls", { "sExtends": "pdf", "sPdfOrientation": "landscape" } "print" ] } } ); } );
|
sPdfSize 顯示詳細資訊
|
設定 PDF 儲存檔案中使用的紙張大小。 |
預設值 |
A4 |
類型 |
字串 - 'A[3-4]'、'letter'、'legal' 或 'tabloid' |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ "copy", "csv", "xls", { "sExtends": "pdf", "sPdfSize": "letter" } "print" ] } } ); } );
|
sTitle 顯示詳細資訊
|
設定儲存文件的標題/檔案名稱。對於 PDF 檔案,此標題會顯示在文件的頂部(在 sMessage 文字上方,如果有給定的話)。如果給定為空字串,TableTools 將使用 HTML 文件中的 TITLE 標籤。 |
預設值 |
|
類型 |
字串 |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ "copy", "csv", "xls", { "sExtends": "pdf", "sTitle": "我的標題" } "print" ] } } ); } );
|
sToolTip 顯示詳細資訊
|
為按鈕定義 'title' 屬性,以便瀏覽器將其顯示為標準工具提示顯示的一部分(通常是一個黃色懸停方塊)。 |
預設值 |
|
類型 |
字串 |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "csv", "sToolTip": "另存為 CSV" } ] } } ); } );
|
列印按鈕選項
bShowAll 顯示詳細資訊
|
此參數可用於讓 TableTools 僅顯示目前頁面(false),或顯示表格中的所有記錄(true)。 |
預設值 |
true |
類型 |
布林值 |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "print", "bShowAll": false } ] } } ); } );
|
sInfo 顯示詳細資訊
|
當開始列印顯示時,TableTools 會向最終使用者顯示資訊訊息,告知他們正在發生的事情以及如何退出。可以使用此參數變更此訊息。 |
預設值 |
列印檢視
請使用瀏覽器的列印功能列印此表格。完成後按 Esc 鍵。 |
類型 |
字串 |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "print", "sInfo": "完成後請按 Esc 鍵" } ] } } ); } );
|
sMessage 顯示詳細資訊
|
您可以使用此參數讓 TableTools 將資訊訊息放在列印顯示的頂部(例如版權訊息或標題)。 |
預設值 |
|
類型 |
字串 |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "print", "sMessage": "由 DataTables 產生" } ] } } ); } );
|
文字按鈕選項
bFooter 顯示詳細資訊
|
是否在匯出的資料中包含頁尾。 |
預設值 |
true |
類型 |
布林值 |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "text", "bFooter": false } ] } } ); } );
|
bHeader 顯示詳細資訊
|
是否在匯出的資料中包含頁首。 |
預設值 |
true |
類型 |
布林值 |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "text", "bHeader": false } ] } } ); } );
|
mColumns 顯示詳細資訊
|
此參數定義哪些欄位應作為匯出資料的來源。此參數可以是字串,其值為 'all'、'visible' 或 'hidden' - 或是包含要匯出欄位索引的整數陣列。 |
預設值 |
全部 |
類型 |
混合 (字串或整數陣列) |
程式碼範例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "csv", "sButtonText": "特殊欄位", "mColumns": [ 0, 1, 4 ] }, { "sExtends": "csv", "sButtonText": "可見欄位", "mColumns": "visible" } ] } } ); } );
|