Jquery - DataTables [tableTools]:仅导出可见行

Ton*_*ton 8 jquery datatables tabletools jquery-datatables

我刚开始使用jQuery DataTables.

使用DataTables的tableTools,是否可以只导出可见行而不是所有行?例如,如果分页设置为10,我预计只会导出10行.搜索结果也是如此.

这是代码的一部分:

$(document).ready(function() {
      var table = $('#example').DataTable({
        "pagingType": "full_numbers",
          "iDisplayLength" : 10,
                dom: 'T<"clear">lfrtip',
                 "oTableTools": {
            "aButtons": [
{ "sExtends": "copy", "mColumns": "visible",      "bSelectedOnly": true },
{ "sExtends": "xls", "mColumns": "visible" },
{ "sExtends": "print", "mColumns": "visible" }

], "sRowSelect": "multi"},


             "order": [[ 0, "asc" ]]
    } ) ;...
Run Code Online (Sandbox Code Playgroud)

谢谢.

sag*_*aei 19

我使用这个解决方案,它工作.试试这个:

<script>
$(document).ready(function() {
    var table = $('#example').DataTable( {
        "pagingType": "full_numbers",
        "iDisplayLength": 10,
        "dom": 'T<"clear">lfrtip',
        "oTableTools": {
          "aButtons": [
            {'sExtends':'copy',
              "oSelectorOpts": { filter: 'applied', order: 'current' },
            },
            {'sExtends':'xls',
              "oSelectorOpts": { filter: 'applied', order: 'current' },
            },
            {'sExtends':'print',
              "oSelectorOpts": { filter: 'applied', order: 'current' },
            }
          ]
        },
    });
});
</script>
Run Code Online (Sandbox Code Playgroud)

  • 我为每个按钮使用"oSelectorOpts",因此它只根据过滤器导出可见行(分页 - 搜索...) (2认同)

Wal*_*mar 2

您可以通过在保存之前选择所有可见行,然后在保存完成后取消选择它们来实现该行为。

$(document).ready(function() {
    $('#example').DataTable( {
        dom: 'T<"clear">lfrtip',
        "oTableTools": {
            "sRowSelect": "multi",
            "aButtons": [
                {
                    "sExtends": "csv",
                    "bSelectedOnly": true,
                    "fnComplete": function ( nButton, oConfig, oFlash, sFlash ) {
                        var oTT = TableTools.fnGetInstance( 'example' );
                        var nRow = $('#example tbody tr');
                        oTT.fnDeselect(nRow);
                    }
                }
            ]
        }
    } );

    $('a.DTTT_button_csv').mousedown(function(){
        var oTT = TableTools.fnGetInstance( 'example' );
        var nRow = $('#example tbody tr');
        oTT.fnSelect(nRow);
    });
} );
Run Code Online (Sandbox Code Playgroud)