Jquery-DataTables [tableTools]: экспорт только видимых строк

Я только начал использовать jQuery DataTables.

используя tableTools DataTables, можно ли экспортировать только видимые строки вместо всех строк? Если, например, разбиение на страницы было установлено на 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" ]]
    } ) ;...

спасибо.

4 ответов


вы можете добиться этого, выбрав все видимые строки перед сохранением, а затем отменить их выбор после завершения сохранения.

$(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);
    });
} );

я использовал это решение, и это сработало. Попробуйте это:

<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>

вы можете установить выбор страницы на текущую страницу для конкретного экспорта.

Ref:http://datatables.net/docs/DataTables/1.9.4/#$

{ "sExtends": "xls", "mColumns": "visible", "oSelectorOpts": { page: "current" } }

Если вы используете flash для экспорта, необходимо упомянуть swf-путь для работы.

$("#example").dataTable( {
    "sDom": 'T<"clear">lfrtip',
    "oTableTools": {
        "sSwfPath": "Path to your copy_csv_xls_pdf.swf files comes with TableTools",
        "aButtons": [
            {
                "sExtends": "copy",
                "sButtonText": "Copy to clipboard",
                "oSelectorOpts": { filter: "applied", order: "current" }
            },
            {
                "sExtends": "csv",
                "sButtonText": "Export to CSV",
                "oSelectorOpts": { filter: "applied", order: "current" }
            },
            {
                "sExtends": "print",
                "sButtonText": "Print",
                "oSelectorOpts": { filter: "applied", order: "current" }
            }
        ]
    }
} );

есть несколько дополнительных опций, также доступных для объекта aButtons.

"mColumns": [1, 2,...] - List of columns to include in export result

"sTitle": "filename" - desire filename for export file

------------------обновление---------------------------

в более новой версии datatable-datatableTools удаляется

пожалуйста, используйте кнопки расширение

buttons: [
        {
            extend: 'copyHtml5',
            exportOptions: {
                columns: [ 0, ':visible' ]
            }
        },
        {
            extend: 'excelHtml5',
            exportOptions: {
                columns: ':visible'
            }
        },
        {
            extend: 'pdfHtml5',
            exportOptions: {
                columns: [ 0, 1, 2, 5 ]
            }
        },
    ]