You can change the DataTable options, columns or columnDefs seamlessly. All you need to do is to change the dtOptions, dtColumns or dtColumnDefs of your DataTable.
ID
First name
Last name
1
Foo
Bar
123
Someone
Youknow
987
Iamout
Ofinspiration
ID
First name
Last name
1
Foo
Bar
123
Someone
Youknow
987
Iamout
Ofinspiration
angular.module('showcase.changeOptions', ['datatables', 'ngResource']).controller('ChangeOptionsDefaultRendererCtrl', ChangeOptionsDefaultRendererCtrl);
function ChangeOptionsDefaultRendererCtrl(DTOptionsBuilder, DTColumnDefBuilder) {
var vm = this;
vm.dtOptions = DTOptionsBuilder.newOptions()
.withLanguageSource('//cdn.datatables.net/plug-ins/3cfcc339e89/i18n/English.json');
vm.dtColumnDefs = [
DTColumnDefBuilder.newColumnDef(0),
DTColumnDefBuilder.newColumnDef(1).notVisible(),
DTColumnDefBuilder.newColumnDef(2).notSortable()
];
vm.changeOptions = changeOptions;
vm.changeColumnDefs = changeColumnDefs;
function changeOptions() {
vm.dtOptions.withPaginationType('full_numbers')
.withLanguageSource('//cdn.datatables.net/plug-ins/3cfcc339e89/i18n/French.json')
.withDisplayLength(2)
.withDOM('pitrfl');
}
function changeColumnDefs() {
vm.dtColumnDefs = [
DTColumnDefBuilder.newColumnDef(0).notVisible(),
DTColumnDefBuilder.newColumnDef(1).notVisible(),
DTColumnDefBuilder.newColumnDef(2).notSortable()
];
}
}