2017-07-18 38 views
0

我想從數據表只導出選定的行。通過將擴展選項設置爲csv,我可以成功地將所選行導出到csv文件,如下面的代碼所示。導出選定的行與按鈕集合在數據表中不工作

buttons: [ 
    'colvis', 
    'selectAll', 
    'selectNone', 
    { 
     extend: 'csv', 
     text: 'Export Selected', 
     exportOptions: { 
      columns: ':visible:not(.not-exported)', 
      modifier: { 
       selected: true 
      } 
     }, 
     title: 'Data export' 
    } 
], 

但我想有一個下拉(csv,複製,打印),我可以從中選擇導出選定的行。我試着在下面的代碼中使用集合。但它會導出所有可見的行。有人請求幫助

buttons: [ 
    'colvis', 
    'selectAll', 
    'selectNone', 
    { 
     extend: 'collection', 
     text: 'Export Selected', 
     buttons: ['copy','csv','print'], 
     exportOptions: { 
      columns: ':visible:not(.not-exported)', 
      modifier: { 
       selected: true 
      } 
     }, 
     title: 'Data export' 
    } 
], 

回答

3

您只需使用rows: '.selected'即可定義「僅限選擇」。但是:即使您正在使用集合,您仍然需要爲每個按鈕提供設置。即

buttons: ['copy','csv','print'], 

應該

buttons: [ 
    { extend :'copy', 
    exportOptions : { 
    columns: ':visible:not(.not-exported)', 
    rows: '.selected' 
    } 
    ... 
] 

您可以通過重用簡單的字面

var exportOptions = { 
    columns: ':visible:not(.not-exported)', 
    rows: '.selected' 
} 

工作樣例代碼,減少代碼量最終會是這樣的:

buttons: [ 
    'colvis', 
    'selectAll', 
    'selectNone', 
    { 
    extend: 'collection', 
    text: 'Export Selected', 
    buttons: [ 
     { extend : 'copy', 
     exportOptions: exportOptions 
     }, 
     { extend : 'csv', 
     exportOptions: exportOptions 
     }, 
     { extend : 'print', 
     exportOptions: exportOptions 
     } 
    ] 
    } 
] 

這裏是一個演示 - >https://jsfiddle.net/youn7zm4/

相關問題