2015-10-23 53 views
2

Datatables中的内置复制到剪贴板功能可以复制表头与选定的行,所以它粘贴像这样(标题,数字和注释是列):jQuery 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 
       } 
      } 
     } 
     ] 
} 

是否有一个函数来存档?或者我该如何修改复制过程?

回答

2

SOLUTION

您可以使用orthogonal选项指定请求复制操作的数据类型copycolumns.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' 
     } 
    }] 
}); 

DEMO

this jsFiddle代码和演示。

+0

谢谢,先生!你真的是Datatables的天才。 – undefined