2015-07-28 9 views
5

Come posso determinare se DataTables() ha finito il rendering nella versione 1.10 e successive? C'è un callback da qualche parte che posso impostare su una funzione. Mi piacerebbe nascondere il mio tavolo fino a che DataTables è finito e poi rivelarlo una volta completato il caricamento.Determina se DataTables è fatto nella versione 1.10. C'è una richiamata?

Con la versione 1.10, non ho incontrato un callback, e penso che un sacco di vecchi callback sono ora deprecato come i loro legami mi reindirizzare a legacy.datatables.net

risposta

4

È possibile utilizzare init.dt evento come segue:

$('#example').on('init.dt', function(e, settings, json){ 
    console.log('Table initialisation complete: '+new Date().getTime()); 
}); 

$('#example').dataTable(); 

Dal manual:

init evento viene chiamato quando il vostro tavolo è stato completamente inizializzato, carico di dati ed e disegnato, in particolare quando si utilizza un'origine dati ajax.

NOTE

Se avete intenzione di nascondere/mostrare la tabella, si avrebbe bisogno di utilizzare columns.adjust() metodo API per ricalcolare la larghezza delle colonne ancora una tabella diventa visibile.

Ad esempio:

$('#example-container').hide(); 

$('#example').on('init.dt', function(e, settings, json){ 
    $('#example-container').show(); 

    $(this).DataTable().columns.adjust(); 
}); 

$('#example').dataTable(); 
+0

La questione sembrava ... – davidkonrad

Problemi correlati