DTInstances

A DataTable directive instance is created each time a DataTable is rendered. You can fetch it by calling the service DTInstances.getLast() to fetch the last instance or DTInstance.getList() to fetch the entire list of instances.

 This API is deprecated.
From v0.5.0+, the DTInstances.getLast() and DTInstances.getList() will be removed. Use the dt-instance directive instead!
See the documentation for more information.

Helper/Wrapper API Description
DTInstances getLast() Returns a promise that fetches the last datatable instance that was rendered.
angular.module('myModule', ['datatables']).controller('MyCtrl', MyCtrl); function MyCtrl(DTInstances) { DTInstances.getLast().then(function(lastDTInstance) { // lastDTInstance === { // "id": "foobar2", // "DataTable": oTable, // "dataTable": $oTable, // "reloadData": function(callback, resetPaging), // "changeData": function(newData), // "rerender": function() // } // loadedDT.DataTable is the DataTable API instance // loadedDT.dataTable is the jQuery Object // See http://datatables.net/manual/api#Accessing-the-API }); }
DTInstances getList() Returns a promise that fetches all the datatables instances that were rendered.
angular.module('myModule', ['datatables']).controller('MyCtrl', MyCtrl); function MyCtrl(DTInstances) { DTInstances.getList().then(function(dtInstances) { // dtInstances === { // "foobar": { // "id": "foobar2", // "DataTable": oTable, // "dataTable": $oTable, // "reloadData": function(callback, resetPaging), // "changeData": function(newData), // "rerender": function() // }, // "foobar2": { // "id": "foobar2", // "DataTable": oTable, // "dataTable": $oTable, // "reloadData": function(callback, resetPaging), // "changeData": function(newData), // "rerender": function() // } // } }); }
DTInstance reloadData(callback, resetPaging)

Reload the data of the DataTable.

This API is only available for the Ajax Renderer and Promise Renderer!

angular.module('myModule', ['datatables']).controller('MyCtrl', MyCtrl); function MyCtrl(DTInstances) { DTInstances.getLast().then(function(dtInstance) { dtInstance.reloadData(); }); }
DTInstance changeData(data)

Depending of the using renderer, you will need to provide:

  • a string or an object in the parameter when using the Ajax renderer.
  • a promise or a function that returns a promise in the parameter when using the Promise renderer

Change the data of the DataTable.

This API is only available for the Ajax Renderer and Promise Renderer!

angular.module('myModule', ['datatables']).controller('MyCtrl', MyCtrl); function MyCtrl($resource, DTInstances) { DTInstances.getLast().then(function(dtInstance) { // For Ajax renderers dtInstance.changeData('data.json'); // For Promise renderers dtInstance.changeData(function() { return $resource('data.json').query().$promise; }); }); }
DTInstance rerender()

This method will call the renderer to re-render the table again

 This is not the same as DataTable's draw(); API. It will completely remove the table, then it will re-render the table, resending the request to the server if necessarily.

angular.module('myModule', ['datatables']).controller('MyCtrl', MyCtrl); function MyCtrl(DTOptionsBuilder, DTColumnDefBuilder, DTInstances) { DTInstances.getLast().then(function (dtInstance) { dtInstance.rerender(); }); }