Ich verwende Slickgrid mit Dataview, um Tabellen mit bis zu 5000 Zeilen zu bearbeiten, die Daten aus einer MySQL-Datenbank mit Laravel erhalten. Ich habe ein AJAX-Save-Funktion erstellt, die alle Daten in der Datenbank gespeichert, aber das läuft extrem langsam und friert das Raster für einige Sekunden:Sync Datenansicht mit Datenbank
function TestSave() {
var request;
var token = $('meta[name="csrf-token"]').attr('content');
request = $.ajax({
url: "/est/public/estimate/{{ $id }}",
type: "PATCH",
dataType: "json",
params: {_token:token},
async: true,
data: { data: JSON.stringify(dataView.getItems()), _token:token
}
});
}
Gibt es eine Möglichkeit, die Daten zu speichern, ohne sie einfrieren? Ich dachte daran, grid.onClick oder onBeforeEditCell zu verwenden und jede Zeile einzeln zu speichern, wenn sie sich ändert, aber Funktionen wie das Einfügen einer Zeile ändern den "Order" -Wert in jeder Zeile unterhalb der Einfügung.
Was ist der beste Weg, um die Datenansicht und die Datenbank synchron zu halten?