jQuery Datatables:自定义复制到剪贴板功能

时间:2015-10-23 18:40:54

标签: datatables

Datatables中的内置复制到剪贴板功能可以复制具有所选行的表头,因此它会像这样粘贴(标题,数字和注释是列):

Title Number Comment
Test   102    "nice"
Test2  103   "ok"

我需要这样:

Title: Test Number: 102 Comment: "nice"
Title: Test2 Number: 103 Comment: "ok"

复制按钮的我的数据表设置目前是这样的:

dom: 'Bfrtip',
buttons: {
       buttons: [
         {
            extend: 'copyHtml5',
            text: 'Copy Selected Rows',
            header: false,
            exportOptions: {
                 modifier: {
                        selected: true
                 }
            }
         }
       ]
}

是否有存档功能?或者我该如何修改复制过程?

1 个答案:

答案 0 :(得分:5)

  

<强>解

您可以使用orthogonal选项指定复制操作请求的数据类型copy,并columns.render在请求数据类型copy时呈现相应的内容。

$('#example').DataTable({
    dom: 'Bfrtip',
    columnDefs: [{
        targets: "_all",
        render: function (data, type, full, meta) {
            if (type === 'copy') {
                var api = new $.fn.dataTable.Api(meta.settings);

                data = $(api.column(meta.col).header()).text() + ": " + data;
            }

            return data;
        }
    }],
    buttons: [{
        extend: 'copyHtml5',
        text: 'Copy Selected Rows',
        header: false,
        exportOptions: {
            modifier: {
                selected: true
            },
            orthogonal: 'copy'
        }
    }]
});
  

<强>样本

请参阅this jsFiddle以获取代码和演示。