Sto utilizzando i datatables come mia griglia su una webapp. Il problema è che l'utente deve aggiornare sempre la pagina per ottenere i dati correnti dal database, c'è un modo in cui questo può essere fatto automaticamente? perché diverse app scrivono sulla stessa tabella e la webapp è solo per il monitoraggio, ma batte lo scopo se l'utente deve aggiornare la pagina per ottenere i dati correnti. Ecco il mio codice di inizializzazione:come aggiornare costantemente i datatables quando i record cambiano nel database, un websocket o un'implementazione di polling lungo
$('.{{datatable['class']}}').dataTable({
"sDom": 'T<"clear">lfrtip',
"oTableTools": {
"sSwfPath": "includes/swf/copy_csv_xls_pdf.swf",
"aButtons": [
{
"sExtends":"copy",
"mColumns":[{{datatable['flds']}}]
},
{
"sExtends":"csv",
"mColumns":[{{datatable['flds']}}]
},
{
"sExtends":"xls",
"mColumns":[{{datatable['flds']}}]
},
{
"sExtends": "pdf",
"mColumns":[{{datatable['flds']}}],
"sPdfOrientation": "landscape",
"sPdfMessage": "{{datatable['title']}}"
}
]
},
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "{{datatable['source']}}",
"aoColumns": [
{% for column in 0..datatable['columns']-2 %}
null,
{% endfor %}
null
]
});
c'è un modo in cui la lista può essere aggiornarsi ogni volta nulla (UPDATE/INSERT/DELETE) accade all'origine dati? Ho implementato un ciclo come suggerito Danny,
var int=self.setInterval(function(){oTable.fnDraw();},1000);
ma il problema è che la lista è sempre stato divertente, vedere l'immagine attaccato
puoi darmi un esempio di questo ciclo? secondo non posso usare il conteggio dei record perché la maggior parte delle modifiche sono aggiornamenti e aggiornamenti non cambi il conteggio dei record. – indago
@indago Ya potrebbe creare una nuova tabella o file solo per memorizzare quando è stato effettuato l'ultimo inserimento/aggiornamento/eliminazione da utilizzare come controllo. – Danny
http://www.w3schools.com/jsref/met_win_setinterval.asp Ricorda che se imposti un intervallo veramente basso potrebbe aggiornarsi più velocemente, ma se ci sono molti utenti su questo creerà molte richieste http, forse troppo molti quindi è necessario bilanciare l'intervallo a ciò che il server può gestire in base al traffico dell'utente e alle statistiche del server ect. – Danny