2017-07-18 5 views
0

dataTableから選択した行のみをエクスポートしようとしています。下のコードに示すように、extendオプションをcsvに設定して、選択した行をcsvファイルに正常にエクスポートできました。dataTableでボタンコレクションが機能しない選択行をエクスポートします

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

しかし、私は私がselcted行をエクスポートするように選択できるドロップダウン(CSV、コピー、プリント)を持っていると思います。私は以下のコードのようにコレクションを使ってみました。しかし、すべての可視行をエクスポートします。誰かが助けてくれる

答えて

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/

関連する問題