I am working on the angular based project. I am using datatables to display data. When I try to do some modifications on the table, I get the following error.
DataTables warning: table id=DataTables_Table_0 - Cannot reinitialise DataTable. For more information about this error, please see http://datatables.net/tn/3
This error is triggered by passing in options to a DataTables constructor object when the DataTable instance for the selected node has already been initialised. For example: $('#example'). dataTable( { paging: false } ); $('#example').
bDestroy. Show details. Replace a DataTable which matches the given selector and replace it with one which has the properties of the new initialisation object passed. If no table matches the selector, then the new DataTable will be constructed as per normal.
I think it is because you are using [dtTrigger]="dtTrigger"
in Angular DataTables and rerendering the table on the same page. If you have this problem you should use the following trick to handle dtTrigger
<table datatable [dtOptions]="dtOptions" [dtTrigger]="dtTrigger" class="table">
Make sure you do not use this.dtTrigger.next()
on ngOnInit()
ngAfterViewInit(): void {
this.dtTrigger.next();
}
Rerender it when you use the second time
rerender(): void {
this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {
dtInstance.destroy();
this.dtTrigger.next();
});
}
I solved this problem by removing the following code in *.ts file:
dtOptions: DataTables.Settings = {};
this.dtOptions = {
};
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With