### `DTInstances`

A DataTable directive instance is created each time a DataTable is rendered.

Helper/Wrapper | API | Description
--- | --- | ---

`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(DTOptionsBuilder, DTColumnBuilder) { var vm = this; vm.dtOptions = DTOptionsBuilder.fromSource('...'); vm.dtColumns = [...] vm.dtInstance = {}; vm.reloadData = reloadData; function reloadData () { vm.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(DTOptionsBuilder, DTColumnBuilder) { var vm = this; vm.dtOptions = DTOptionsBuilder.fromSource('...'); vm.dtColumns = [...] vm.dtInstance = {}; vm.changeData = changeData; function changeData () { // For Ajax renderers vm.dtInstance.changeData('data.json'); // For Promise renderers vm.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, DTColumnBuilder) { var vm = this; vm.dtOptions = DTOptionsBuilder.fromSource('...'); vm.dtColumns = [...] vm.dtInstance = {}; vm.rerender = rerender; function rerender () { vm.dtInstance.rerender(); }); }