DTColumnDefBuilder
This service will help you build your datatables column defs. All it's doing is appending to the DataTables options the object aoColumnDefs
Writing the following code:
is the same as writing the following:
Note: Of course, this helper is not mandatory. This helper only constructs a JSON object.
You can directly pass the datatable column options on the element attributes and dt-column-defs
.
The column defs must be provided in the dt-column-defs
directive whereas the column options must be provided in
the dt-columns"
directive.
Helper/Wrapper | API | Description |
---|---|---|
DTColumnDefBuilder |
newColumnDef(aTargets) |
Create a new wrapped
angular.module('myModule', ['datatables'])
.controller('myCtrl', function($scope, DTColumnDefBuilder) {
$scope.dtColumnDefs = [
DTColumnDefBuilder.newColumnDef(0)
];
});
|
DTColumnDef |
withOption(key, value) |
Add the option of the column. For example, the following code add the option sContentPadding :
angular.module('myModule', ['datatables'])
.controller('myCtrl', function($scope, DTColumnDefBuilder) {
$scope.dtColumnDefs = [
DTColumnDefBuilder.newColumnDef(0).withOption('sContentPadding', 'mmm')
];
});
|
DTColumnDef |
withTitle(title) |
Set the title of the colum.
angular.module('myModule', ['datatables'])
.controller('myCtrl', function($scope, DTColumnDefBuilder) {
$scope.dtColumnDefs = [
DTColumnDefBuilder.newColumnDef(0).withTitle('FooTitle')
];
});
|
DTColumnDef |
withClass(sClass) |
Set the CSS class of the column
angular.module('myModule', ['datatables'])
.controller('myCtrl', function($scope, DTColumnDefBuilder) {
$scope.dtColumnDefs = [
DTColumnDefBuilder.newColumnDef(0).withClass('foo-class')
];
});
|
DTColumnDef |
notVisible() |
Hide the column.
angular.module('myModule', ['datatables'])
.controller('myCtrl', function($scope, DTColumnDefBuilder) {
$scope.dtColumnDefs = [
DTColumnDefBuilder.newColumnDef(0).notVisible()
];
});
|
DTColumnDef |
notSortable() |
Set the column as not sortable
angular.module('myModule', ['datatables'])
.controller('myCtrl', function($scope, DTColumnDefBuilder) {
$scope.dtColumnDefs = [
DTColumnDefBuilder.newColumnDef(0).notSortable()
];
});
|
DTColumnDef |
renderWith(mrender) |
Render each cell with the given parameter
angular.module('myModule', ['datatables'])
.controller('myCtrl', function($scope, DTColumnDefBuilder) {
// Data fetched: {gender: 'Mr', firstName: 'foo', lastName: 'bar'}
$scope.DTColumnDefs = [
DTColumnDefBuilder.newColumnDef(0).renderWith(function(data, type, full) {
return full.gender + ' ' + full.firstName;
});
];
});
|