Ich verwende angular-datatables zum Auflisten von Studenteninformationen. Ich möchte serverseitige Ajax-Implementierung für jede Suche, Sortierung, Paging usw. implementieren, anstatt alle Daten abzurufen und die Daten mit angularjs zu wiederholen. Sortieren, Suchen, Paging funktioniert gut. Aber ich bin nicht in der Lage, ng-click
Ereignis zu binden, wenn Sie auf bestimmte Zeilenaktionen klicken.ng-click Event-Bindung funktioniert nicht in angular-datatables
Das ist meine Ansicht:
Dies ist mein JavaScript-Quellcode:
<div ng-app="myApp">
<div ng-controller="OrganizationController">
<table id="entry-grid" datatable="" dt-options="dtOptions"
dt-columns="dtColumns" class="table table-hover"></table>
</div>
</div>
<script>
var app = angular.module('myApp',['datatables']);
app.controller('OrganizationController', BindAngularDirectiveCtrl);
function BindAngularDirectiveCtrl($scope, $compile, DTOptionsBuilder, DTColumnBuilder) {
var vm = this;
vm.message = '';
vm.edit = edit;
vm.dtInstance = {};
vm.persons = {};
$scope.dtColumns = [
DTColumnBuilder.newColumn("organization_name").withOption('organization_name'),
DTColumnBuilder.newColumn(null).withTitle('Actions').notSortable()
.renderWith(actionsHtml)
]
$scope.dtOptions = DTOptionsBuilder.newOptions().withOption('ajax', {
dataSrc: "data",
url: "organizations",
type:"get"
})
.withOption('processing', true) //for show progress bar
.withOption('serverSide', true) // for server side processing
.withPaginationType('full_numbers') // for get full pagination options // first/last/prev/next and page numbers
.withDisplayLength(2) // Page size
.withOption('aaSorting',[0,'asc'])
function edit() {
console.log('hi')
}
function actionsHtml(data, type, full, meta) {
vm.persons[data.id] = data;
return '<button class="btn btn-warning" ng-click="edit()">' +
' <i class="fa fa-edit"></i>' +
'</button>';
}
}
</script>
Willkommen bei Stackoverflow. Der Ort, wo wir Ihren Code nehmen und versuchen zu helfen .... ABER Sie müssen Code und Informationen zu Ihrem Problem bereitstellen. Zeig uns, was du probiert hast! –