按钮选项
此扩展现已弃用,并已由 按钮 和 选择 扩展替代。保留文档仅供遗留参考。新项目应优先使用 按钮 和 选择,而不是 TableTools。
在使用 TableTools 时,您经常希望修改预定义按钮的行为,以匹配网站或 web 应用程序所需的交互。这是通过使用 TableTools 提供的每种按钮类型的选项来实现的。TableTools 内置了多种按钮类型:flash、打印、文本、ajax 和集合,每种类型都有其自己的属性,如下所述。
- 通用选项
- 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( 'Mouse click' ); } } ] } } ); } );
|
fnComplete 显示详细信息
|
此回调函数会在按钮需要执行的任何操作完成后激活。它对于基于 Flash 的按钮特别有用,因为它是在 Flash 执行任何操作之后激活的(例如保存文件)。 |
默认值 |
|
输入参数 |
- node - 激活回调的按钮元素
- object - 按钮定义对象,包含按钮的所有初始化属性。
- object - 用于控制 Flash 按钮的 Zeroclipboard 实例。请注意,对于非基于 flash 的按钮,此项将指定为 null。
- 字符串 - 从 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 - 按钮定义对象,包含按钮的所有初始化属性。
- 节点 - 单击的 TR 行节点。
|
返回参数 |
void |
代码示例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "text", "fnSelect": function ( nButton, oConfig, nRow ) { alert( '行选中' ); } } ] } } ); } );
|
oSelectorOpts 显示详细信息
|
控制要从源 DataTables 中使用的数据。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( 函数 () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "csv", "sButtonText": "保存 CSV 文件!" } ] } } ); } );
|
sExtends 显示详细信息
|
通常有用到预定义按钮并根据需要扩展它们。此属性应该与预定义按钮之一匹配,以提供完全相同的按钮。 |
默认值 |
|
类型 |
字符串 |
代码示例 |
$(document).ready( 函数 () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "text", "sButtonText": "Hello world" } ] } } ); } );
|
Ajax 按钮选项
bFooter 显示详细信息
|
将页脚包含在导出数据中,或不包含。 |
默认值 |
true |
类型 |
布尔值 |
代码示例 |
$(document).ready( 函数 () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "ajax", "bFooter": false } ] } } ); } );
|
bHeader 显示详细信息
|
将页眉包含在导出数据中,或不包含。 |
默认值 |
true |
类型 |
布尔值 |
代码示例 |
$(document).ready( 函数 () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "ajax", "bFooter": false } ] } } ); } );
|
fnAjaxComplete 显示详细信息
|
这是在 Ajax 加载完成后调用的方法。它在 Ajax 按钮的 fnClick 函数中定义。 |
默认值 |
|
输入参数 |
根据 $.ajax() |
返回参数 |
void |
代码示例 |
$(document).ready( 函数 () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "ajax", "fnAjaxComplete": 函数 ( XMLHttpRequest, textStatus ) { 提醒 ( 'Ajax 完成' ); } } ] } } ); } );
|
mColumns 显示详细信息
|
此参数定义哪些列应该用作导出的数据源。该参数可以是值为 'all'、'visible' 或 'hidden' 的字符串 - 或一个包含要导出的列索引的整数数组。此外,自 TableTools 2.2.3 开始,它也可以是一个返回要包含在输出中的列索引数组的函数。此函数接受一个参数,即 DataTables 设置对象,可用于获取 API 实例。 |
默认值 |
all |
类型 |
混合 (字符串、整数数组或函数) |
代码示例 |
$(document).ready( 函数 () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "ajax", "sButtonText": "特殊列", "mColumns": [ 0, 1, 4 ] }, { "sExtends": "ajax", "sButtonText": "可见列", "mColumns": "visible" } ] } } ); } ); $(document).ready(函数() { $('#example').DataTable( { dom: 'T<"clear">lfrtip', tableTools: { aButtons: [ { sExtends: 'copy', mColumns: 函数 ( ctx ) { var api = new $.fn.dataTable.Api( ctx ); return api.columns( '.selected' ).indexes().toArray(); } } ] } } ); } ); |
sAjaxUrl 显示详细信息
|
此参数是 Ajax 按钮的默认 'fnClick' 函数使用的,它定义 Ajax 请求应该发送到的位置。 |
默认值 |
/xhr.php |
类型 |
字符串 |
代码示例 |
$(document).ready( 函数 () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "ajax", "sAjaxUrl": "remote.php" } ] } } ); } );
|
sFieldBoundary 显示详细信息
|
设置 CSV 字段的边界字符。通常你希望这是单引号,但更改它可能很有用。 |
默认值 |
' |
类型 |
字符串 |
代码示例 |
$(document).ready( 函数 () { $('#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": "Save", "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": "Special columns", "mColumns": [ 0, 1, 4 ] }, { "sExtends": "csv", "sButtonText": "Visible columns", "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 输出的纸张方向。 |
默认值 |
portrait |
类型 |
字符串('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 将向最终用户显示一条信息,告知他们发生了什么事以及如何退出。可以通过此参数更改此消息。 |
默认值 |
打印视图
请使用浏览器的打印功能打印此表格。完成后,按 Escape。 |
类型 |
字符串 |
代码示例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "print", "sInfo": "完成后,请按 Escape" } ] } } ); } );
|
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' 和要导出的列索引的整数数组的字符串。 |
默认值 |
all |
类型 |
混合(字符串或整数数组) |
代码示例 |
$(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "csv", "sButtonText": "Special columns", "mColumns": [ 0, 1, 4 ] }, { "sExtends": "csv", "sButtonText": "Visible columns", "mColumns": "visible" } ] } } ); } );
|