2015-10-23 80 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