Как добавить кнопки копирования, PDF, Excel в угловых JS DataTable в приложении MVC
Я хочу добавить Excel, копировать, PDF, печатать кнопки в угловой JS. но я получаю ошибку при отображении кнопок в таблице данных. таблица данных работает нормально, но когда я добавил код кнопки, данные не работают, ошибка
Uncaught Ошибка: [$ инжектор: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);
}])
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