2015-09-11 94 views
3

我正在使用jQuery DataTables 1.10和我所有的代碼工作正常。要添加導出功能,請參閱this鏈接。我已添加所有文件說什麼導出按鈕沒有出現在Datatable

//code.jquery.com/jquery-1.11.3.min.js 
https://cdn.datatables.net/1.10.9/js/jquery.dataTables.min.js 
https://cdn.datatables.net/buttons/1.0.3/js/dataTables.buttons.min.js 
//cdnjs.cloudflare.com/ajax/libs/jszip/2.5.0/jszip.min.js 
//cdn.rawgit.com/bpampuch/pdfmake/0.1.18/build/pdfmake.min.js 
//cdn.rawgit.com/bpampuch/pdfmake/0.1.18/build/vfs_fonts.js 
//cdn.datatables.net/buttons/1.0.3/js/buttons.html5.min.js 
//cdn.datatables.net/1.10.9/css/jquery.dataTables.min.css 
//cdn.datatables.net/buttons/1.0.3/css/buttons.dataTables.min.css 

我已經下載這些文件並存儲在本地。所以我的最終代碼是這樣的:

table = $(".jqueryDataTable").DataTable({ 

     "initComplete": function(oSettings, json) { 
       alert('DataTables has finished its initialisation in table.'); 
       this.fnHideEmptyColumns(this); 
       $('#lblReportHeader').html(reportHeader); 
       $('#lblFromDate').html(fromDateHeader); 
       $('#lblToDate').html(fromToHeader); 
       $('#tblReportHeader').show(); 
      }, 
      "searching": false, 
      "retrieve": true, 
      "destroy": true, 
      "ajax": "./getReportDetails", 
      "jQueryUI": true, 
      "dom": 'r<"H"lf><"datatable-scroll"t><"F"ip>', 
      buttons: [ 
         'copyHtml5', 
         'excelHtml5', 
         'csvHtml5', 
         'pdfHtml5' 
        ], 
      "fnServerParams": function (data) { 
       newData=data; 
       newData.push({ "name": "reportType", "value": reportType }, { "name": "reportSubType", "value": reportSubType}, { "name": "fromDate", "value": fromDate}, { "name": "toDate", "value": toDate}); 
      }, 
      "columns": [ 
          { "mData": "username", "sTitle": "username"}, 
          { "mData": "transferType", "sTitle": "transferType"}, 
          { "mData": "fromAccount", "sTitle": "fromAccount"} 
       ] 
     }); 

但它沒有顯示我的用戶界面上的任何導出按鈕。

enter image description here

什麼是錯在我的代碼?

+3

工程正常** [這裏](https://jsfiddle.net/Guruprasad_Rao/ym4wyc3s/)** ..我認爲,因爲您已經將其複製到本地並給了本地引用一些亂七八糟的東西。嘗試給'cdn'文件參考本身.. –

+0

我認爲我有我的dom問題,你能糾正它嗎?就像通過添加按鈕參數一樣? –

+1

這是添加按鈕的新版本,所以很抱歉地說,因爲我對此沒有太多的想法..並且您還有一些ajax格式來加載數據..所有這些都可能是問題的一部分。你有沒有嘗試給CDN文件源? –

回答

3

這裏的問題是你需要包括JS文件,但在初始化的時候,就像下面提到你還沒有指定輸出選項:

$('#example').DataTable({ 
     dom: 'Bfrtip', 
     buttons: [ 
      'copy', 'csv', 'excel', 'pdf', 'print' 
     ] 
    }); 

您可以從副本刪除選項csv,excel,pdf,print根據要求。

您不能更改按鈕的名稱,它需要與上述完全相同。

+1

只需要清楚,你可以使用擴展選項{extend:'print','Print Table'}來更改按鈕的名稱,等等 – Bindrid

4

我有同樣的問題,從添加所需的JavaScript和css文件到指定「dom」值並初始化數據表體中的按鈕數組,一切看起來都不錯。但是,我不顯示按鈕的根本原因是我添加了兩次依賴的javascript之一,同一個js文件放在資源文件夾中的兩個不同位置。只要我確定並刪除了其他重複的js引用,問題就解決了,我可以看到顯示的按鈕以及工作。