2015-09-11 93 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引用,问题就解决了,我可以看到显示的按钮以及工作。