Excluding last column of jQuery DataTables.net TableTools

前端 未结 5 848
挽巷
挽巷 2021-01-16 18:43

Question: How can I exclude the last column of jQuery DataTables.net when using the TableTools extras to export?

Details

I\

相关标签:
5条回答
  • 2021-01-16 19:04

    You can exclude using class names like this:

    "aoColumnDefs": [{ "mColumns": false, "aTargets": ["no-export"] }],
    

    Here is similar code I have working in production:

                var oTable = $('#<%= gvComputers.ClientID %>').dataTable({
                "bJQueryUI": true,
                "bStateSave": true,
                "sPaginationType": "full_numbers",
                "aLengthMenu": [[5, 10, 25, 50, 100, -1], [5, 10, 25, 50, 100, "All"]],
                "aoColumnDefs": [
                    { "sSortDataType": "dom-text", "aTargets": ["text-sort_fixed"] },
                    { "sType": "numeric", "aTargets": ["numeric-sort"] },
                    { "sSortDataType": "dom-select", "aTargets": ["select-sort"] },
                    { "sSortDataType": "dom-checkbox", "aTargets": ["checkbox-sort"] },
                    { "bSearchable": false, "aTargets": ["no-search"] },
                    { "bSortable": false, "aTargets": ["no-sort"] }
                ]
            });
    

    I set the classes as needed on my table header, footer and cells dynamically since I do not know what columns the user will remove from their personal view of the data.

    hth

    0 讨论(0)
  • 2021-01-16 19:12

    Just for googlers: in tabletools 2.2.3 you can now use function for mColumns

    var dataTable = $grdData.DataTable({
         tableTools: {
              aButtons: [{
                  "sExtends": "csv",
                  "sButtonText": "csv",
                  "mColumns": function ( dtSettings ) {
                       var api = new $.fn.dataTable.Api( dtSettings );
    
                       return api.columns(":not(:last)").indexes().toArray();
                  }
              }]
         }
    });
    
    0 讨论(0)
  • 2021-01-16 19:12

    The best I've found so far is these hacks. Not particularly useful in my case, but maybe you have better luck

    http://datatables.net/forums/discussion/327/tabletools-v1.0.2-save-as-excel-csv-copy-and-print/p3

    0 讨论(0)
  • 2021-01-16 19:17

    In my case the best solution was to set the exportable attribute of the column to false. The same way you can set orderable, searchable, etc.

    0 讨论(0)
  • 2021-01-16 19:23

    Suppose you have six columns, and you only want to display columns 1, 2, 3 and 5. Try this :

    {
       text: "print",
       extend: "print",
       className: "btn btn-lg btn-danger",
       exportOptions:
         {
           columns: [0,1,2,4]}
         }
    }
    
    0 讨论(0)
提交回复
热议问题