copyHtml5
将表格数据复制到剪贴板按钮 (HTML)。
请注意 - 此属性需要 按钮 DataTables 扩展。
说明
此按钮为最终用户提供简单的复制到剪贴板操作,将表格数据复制到系统剪贴板。在大多数情况下,这将自动显示在用户剪贴板上,但如果您的浏览器不支持所需 API,则会向最终用户显示一条消息,邀请他们使用键盘或编辑菜单复制表格数据。复制将从几乎完全隐藏的 textarea
元素完成,因此最终用户看不到它,但浏览器仍可以对 textarea 焦点并选择文本。
当用户激活复制命令时,将关闭对话框。他们还可以单击该框或按 ESC 键,不执行复制操作来关闭它。
如果您的表格具有具有多行的页眉或页脚,则所有这些都将包含在导出中。如果页眉或页脚包含 colspan
或 rowspan
单元格,它们将被空字符串填充,因为这是一个纯文本导出,并且没有办法表示跨越其他单元格的单元格。
可以设置许多语言字符串来配置向最终用户显示的消息 - 这些消息设置在 language
配置选项的 buttons
属性中 DataTables(请参阅下面的示例) - 这些包括**默认值**
{
copy: 'Copy',
copySuccess: {
1: "Copied one row to clipboard",
_: "Copied %d rows to clipboard"
},
copyTitle: 'Copy to clipboard',
copyKeys: 'Press <i>ctrl</i> or <i>\u2318</i> + <i>C</i> to copy the table data<br>to your system clipboard.<br><br>To cancel, click this message or press escape.'
}
请注意,此按钮类型的名称的 html5
部分是为了与其他 HTML5 导出按钮保持一致,但与它的配套按钮不同,它实际上并不需要 HTML5 API。它将适用于所有受支持的数据表浏览器。
选项
此按钮可以在其配置对象中设置以下选项来自定义其操作和显示,除了所有按钮(例如 buttons.buttons.text
)可用的选项。
名称 | 类型 | 默认设置 |
---|---|---|
操作 | ||
显示一个对话框,用户可以使用该对话框将表格数据复制到剪贴板 | ||
类名 | buttons-copy buttons-html5 | |
此按钮的类名。有关详细信息,请参阅 | ||
copySuccess 自:3.1.2 | true | |
指示复制完成后是否应显示消息。 | ||
定制 自:1.1.1 | 未定义 | |
可用来修改导出数据内容的函数。此函数接受两个参数,由按钮配置的数据和按钮的配置对象。函数返回的值将用于导出。 如果您希望向导出的数据添加公司页眉或页脚、说明数据或任何其他信息,这可能特别有用。 从 Buttons 1.5.2 开始,该函数会传递三个参数
| ||
exportOptions | {} | |
选择从 DataTable 导出要收集的数据。这包括哪些列、行、排序和搜索的选项。有关完整详细信息,请参见 | ||
fieldBoundary | ||
用于在复制到系统剪贴板的表格纯文本表示中包含每个字段的字符。这会自动添加到每个单元格数据的开始和结束处。 | ||
fieldSeparator | \t | |
用于分隔复制到系统剪贴板的表格纯文本表示中的字段的字符。 | ||
footer | true | |
指示是否应该在导出的数据中包含表脚。请注意,此参数的默认值在 Buttons 3.0 中更新为 | ||
header | true | |
指示是否应该在导出的数据中包含表头。 | ||
messageBottom 从:1.4.0 | * | |
显示在表格底部或 | ||
messageTop 从:1.4.0 | * | |
显示在表格顶部或 | ||
newline | \n | |
用于分隔数据行的字符。请注意,在 Windows 客户端上,默认值为 | ||
text | 复制 | |
按钮的显示文本。可以通过此选项配置文本(请参见 | ||
title 从:1.4.0 | * | |
将包含在导出数据中的表格的标题。请参见 |
示例
DataTables 初始化:使用 HTML 复制按钮
new DataTable('#myTable', {
layout: {
topStart: {
buttons: ['copyHtml5']
}
}
});
DataTables 初始化:使用 copy
按钮类型来指定 HTML 按钮选项的别名。
new DataTable('#myTable', {
layout: {
topStart: {
buttons: ['copy']
}
}
});
DataTables 初始化:使用 exportOptions
仅复制当前 DataTable 页
new DataTable('#myTable', {
layout: {
topStart: {
buttons: [
{
extend: 'copyHtml5',
text: 'Copy current page',
exportOptions: {
modifier: {
page: 'current'
}
}
}
]
}
}
});
DataTables 初始化:使用 language
对象设置激活时显示的信息
new DataTable('#myTable', {
language: {
buttons: {
copyTitle: 'Data copied',
copyKeys: 'Use your keyboard or menu to select the copy command'
}
},
layout: {
topStart: {
buttons: ['copyHtml5']
}
}
});