как добавить кнопки копирования, pdf, excel в angular js datatable в приложении mvc

Я хочу добавить кнопки excel, copy, pdf, print в angular js. но я получаю сообщение об ошибке при отображении кнопок в таблице данных. таблица данных работает нормально, но когда я добавил код кнопки, таблица данных не работает с ошибкой

Неперехваченная ошибка: [$injector:modulerr]

стили и ссылки на js

  <script src="~/angularjs/jquery.js"></script>
    <script src="~/angularjs/jquery.dataTables.js"></script>
    <script src="~/angularjs/angular.min.js"></script>
    <script src="~/angularjs/angular-datatables.js"></script>
<link rel="stylesheet" href="https://cdn.datatables.net/buttons/1.2.2/css/buttons.dataTables.min.css">
<script src="https://cdn.datatables.net/buttons/1.2.2/js/dataTables.buttons.min.js"></script>
<script src="https://cdn.datatables.net/buttons/1.2.2/js/buttons.colVis.min.js"></script>
<script src="https://cdn.datatables.net/buttons/1.2.2/js/buttons.flash.min.js"></script>
<script src="https://cdn.datatables.net/buttons/1.2.2/js/buttons.html5.min.js"></script>
<script src="https://cdn.datatables.net/buttons/1.2.2/js/buttons.print.min.js"></script>

HTML

<div ng-app="MyApp" class="container">
                        <div ng-controller="homeCtrl">
                            <table id="entry-grid" datatable="" dt-options="dtOptions" dt-columns="dtColumns" class="table table-hover"></table>
                        </div>
                    </div>

код

var app = angular.module('MyApp', ['datatables']);
app.controller('homeCtrl', ['$scope', '$http', 'DTOptionsBuilder', 'DTColumnBuilder',
    function ($scope, $http, DTOptionsBuilder, DTColumnBuilder) {
        $scope.dtColumns = [
            DTColumnBuilder.newColumn("timestamp", "Time"),
            DTColumnBuilder.newColumn("dataFrame", "data Frame"),
            DTColumnBuilder.newColumn("fcnt", "fcnt"),
            DTColumnBuilder.newColumn("freq", "freq"),
            DTColumnBuilder.newColumn("rssi", "rssi")
        ]

        $scope.dtOptions = DTOptionsBuilder.newOptions()
            .withOption('ajax', {
            url: "/Manhole/GetManholeReadings",
            type: "POST"
            })
            .withButtons([
                'copy',
                'pdf',
                'excel'
            ])
        .withPaginationType('full_numbers')
        .withDisplayLength(10);

    }])

person krishnamohan rao    schedule 03.01.2019    source источник


Ответы (1)


Вам также необходимо включить datatables.buttons, т.е.

var app = angular.module('MyApp', ['datatables', 'datatables.buttons']);

и включить флаг B в dom, т.е.

$scope.dtOptions = DTOptionsBuilder.newOptions()
  ...
  .withOption('dom', 'Blfrtip')  //for a full featured datatable including buttons
person davidkonrad    schedule 04.01.2019