在AngularJS中使用datatables按钮扩展

时间:2015-08-17 05:02:09

标签: angularjs button datatables tabletools

我一直在使用angularjs.datatables并希望能够导出到excel / pdf。 angularjs-datatables项目确实包含对TableTools扩展的支持,但是当我在datatables站点上读取时,TableTools已经退役,我们应该使用Buttons来实现此目的。我似乎找不到任何关于在任何地方使用角度的新扩展的参考。如果有人能指出我如何使用它,我将非常感激。如果无法使用按钮,请使用TableTools分享您的体验。我的目标是使用自定义列打印并导出到excel / pdf(在视图和导出之间以不同方式呈现)

感谢。

2 个答案:

答案 0 :(得分:0)

您必须添加所需的js文件:angular-datatables.buttons.min.js

并且

  

将依赖关系datatables.buttons添加到Angular应用程序

HTML:

<div ng-controller="WithButtonsCtrl as showCase">
    <table datatable=""
        dt-options="showCase.dtOptions"
        dt-columns="showCase.dtColumns"
        class="row-border hover">
    </table>
</div>

JS:

angular.module('showcase.withButtons', ['datatables', 'datatables.buttons'])
    .controller('WithButtonsCtrl', WithButtonsCtrl);

function WithButtonsCtrl(DTOptionsBuilder) {
    var vm = this;
    vm.dtOptions = DTOptionsBuilder.fromSource('data.json')
        .withDOM('frtip')
        .withPaginationType('full_numbers')
        // Active Buttons extension
        .withButtons([
            'columnsToggle',
            'colvis',
            'copy',
            'print',
            'excel',
            {
                text: 'Some button',
                key: '1',
                action: function (e, dt, node, config) {
                    alert('Button activated');
                }
            }
        ]);
}

参考: https://l-lin.github.io/angular-datatables/#/withButtons

答案 1 :(得分:0)

试试这些CDN:

表示Excel和CSV使用此CDN

https://cdn.datatables.net/buttons/1.5.1/js/buttons.html5.min.js
https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js

for PDF使用此CDN

https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/pdfmake.min.js
https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/vfs_fonts.js