Ich verwende Datatables als meine Grid auf einer Webapp. Das Problem ist, der Benutzer muss die Seite immer aktualisieren, um die aktuellen Daten aus der Datenbank zu bekommen, gibt es eine Möglichkeit, dies automatisch zu tun? weil mehrere Apps in dieselbe Tabelle schreiben und die Webapp nur zur Überwachung dient, aber den Zweck übertrifft, wenn der Benutzer die Seite aktualisieren muss, um die aktuellen Daten zu erhalten. hier ist mein Code für die Initialisierung:Wie aktualisiert man die Datentabellen ständig, wenn sich Datensätze in der Datenbank ändern, eine WebSockets oder Long Polling Implementierung
$('.{{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
]
});
ist es eine Möglichkeit, die Liste selbst jedes Mal alles sein kann Aktualisierung (UPDATE/INSERT/DELETE) passiert mit der Datenquelle? Ich habe eine Schleife implementiert, wie Danny vorgeschlagen,
var int=self.setInterval(function(){oTable.fnDraw();},1000);
aber das Problem ist, dass die Liste ist immer ein lustiger Zustand, siehe attatched Bild
können Sie mir ein Beispiel für diese Schleife geben? Zweitens kann ich die Anzahl der Datensätze nicht verwenden, da die meisten Änderungen Aktualisierungen und Aktualisierungen sind. – indago
@indago Ya vielleicht erstellen Sie eine neue Tabelle oder Datei nur zu speichern, wenn das letzte Einfügen/Aktualisieren/Löschen wurde als die Prüfung zu verwenden. – Danny
http://www.w3schools.com/jsref/met_win_setinterval.asp Denken Sie daran, dass wenn Sie ein wirklich niedriges Intervall einstellen, es schneller aktualisiert wird, aber wenn Sie viele Benutzer haben, wird es eine Menge HTTP-Anfragen erstellen, vielleicht auch Sie müssen also das Intervall so ausbalancieren, dass Ihr Server basierend auf Benutzerdatenverkehr und Serverstatistiken ect. – Danny