Ich versuche Statusfeld der Zeile mit einer benutzerdefinierten Befehlsschaltfläche festlegen. Gitterdatenquelle Transport wird wie folgt definiert:Kendo Grid saveChanges() funktioniert nicht
transport: {
read: {
url: "/agent/AgentList",
type: "POST",
dataType: "json",
data: addAntiForgeryToken
},
update: {
url: "/agent/UpdateAgent",
type: "POST",
dataType: "json",
data: addAntiForgeryToken
}
},
Benutzerdefinierte-Befehl wird wie folgt definiert:
{
command: [
{
name: "accept",
visible: function(dataItem) {
return dataItem.StatusId === 1;
},
text: "@T("Ralfeus.Agent.Accept")",
click: function(e) {setOfferResponse(this, e, 2);}
}
]
}
Die Funktion, das Feld tatsächlich Einstellung wird wie folgt definiert:
function setOfferResponse(grid, sender, response) {
sender.preventDefault();
var dataItem = grid.dataItem($(sender.currentTarget).closest("tr"));
dataItem.StatusId = response;
grid.editRow($(sender.currentTarget).closest("tr"));
grid.saveChanges();
}
I erwartet saveChanges() ruft auf, um die Aktualisierungsmethode des Datenquellentransports auszulösen. Es verursacht jedoch weder Anfragen an den Server noch meldet es Fehler.
Ich habe auch versucht, grid.saveChanges() mit grid.dataSource.sync() zu ersetzen (übrigens - was ist der Unterschied?) Wie vorgeschlagen wurde here aber das Ergebnis war das gleiche: keine HTTP-Anfrage, keine Fehler.
@ -> können Sie einen Fehler auf Konsole sehen? –
Nein. Es wurden keine Fehler gemeldet. – Ralfeus