私の知る限り、両方の問題を解決する「魔法の」オプションはありません。そして、それぞれの問題を解決するためのオプションは、お互いを排除しているように見えます (誰かがそれを反証できればいいのですが)。しかし、私は解決策を見つけました(冗長なコードを避けるために、コピーボタンに対してのみ表示します):
var table = $("#example").DataTable({
dom: 'T<"clear">lfrtip',
tableTools: {
sSwfPath: "http://cdn.datatables.net/tabletools/2.2.3/swf/copy_csv_xls.swf",
aButtons: [
{
sExtends : "copy",
mColumns : [0, 1, 2],
fnInit : function( nButton, oConfig ) {
$(nButton).on('mousedown', function() {
table.column(3).search('ok').draw();
});
$(nButton).on('mouseup', function() {
table.column(3).search('').draw();
});
},
oSelectorOpts : { filter: 'applied', order: 'current' },
}
]}
});
説明:
mColumns : [0, 1, 2]id-> 、dataおよびdate列のみをエクスポートします
fnInit-> ボタンが初期化されたときにボタンで何かを実行できるようにする
$(nButton).on('mousedown', function() {-> ステータスが「OK」の行をフィルタ
$(nButton).on('mouseup', function() {-> エクスポートが完了したら、「ok」フィルターの設定を解除します
oSelectorOpts : { filter: 'applied', order: 'current' }-> tabletools を設定して、フィルタリングされた行のみをユーザーに表示される順序でエクスポートします。
mousedown/を使用する理由は、上記がor ボタン機能では機能mouseupしないためです。clickfnComplete
xls、csv、pdfなどのすべてのボタンにこの機能を追加しますprint。ボタンに問題があると思います。print私の知る限り、以前はボタンの指示に従うことで「問題」がありました。これが最近修正されたかどうかはわかりません。