close

dataTable的按鈕有匯出功能,在初始化參數中button宣告即可

"buttons": [
    {
        extend: 'csv',
        text: '匯出檔案',
    }
]

預設就會在dataTable左上角出現"匯出檔案"的按鈕,按下去自動下載table內容的csv檔。

官方範例

HTML5 export buttons

 "HTML5 export buttons"

 

但是這個按鈕有點太陽春,我們想自訂按鈕樣式與顯示位置。

 

找到兩個方法:

方法一:

比較簡單,但是只能模擬單一按鈕功能,如果按鈕屬性是collection就不能用了。

 

// dataTable上宣告匯出csv的按鈕
buttons: [
      {
             extend: 'csv',
      }
]

// 將自訂按鈕綁上on click事件,去觸發datatable對應按鈕.trigger();

$("#ExportReporttoExcel").on("click", function() {
      table.button( '.buttons-csv' ).trigger();
});

// 最後還要隱藏原本按鈕
$(".buttons-csv").detach();

 

方法二:

直接修改dataTable上匯出csv的按鈕的樣式,並且將按鈕append到想要的地方 (較推薦此方法)

 

var dt = $('#data-table' ).DataTable();

// 宣告按鈕,在text屬性加入按鈕內的HTML,className屬性加入需要的class

 

// Configure Export Buttons
new $.fn.dataTable.Buttons( dt, {
    buttons: [
        {
            text: '<i class="fa fa-lg fa-file-text-o"></i>',
            extend: 'csv',
            className: 'btn btn-xs btn-primary p-5 m-0 width-35 assets-export-btn export-csv ttip',
        }
} );

 

 

// 將按鈕append到想要的地方
// Add the Export buttons to the toolbox
dt.buttons( 0, null ).container().appendTo( '#export-assets' );

 

 

--

參考自

https://stackoverflow.com/questions/45515559/how-to-call-datatable-csv-button-from-custom-button

https://datatables.net/forums/discussion/50351/how-to-apply-custom-button-color-to-file-export-buttons-collections#Comment_133594

https://datatables.net/forums/discussion/31113/call-print-from-a-custom-button#Comment_83692

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 dizzy03 的頭像
    dizzy03

    碎碎念

    dizzy03 發表在 痞客邦 留言(0) 人氣()