Das Kendo Ui-Raster wird nicht aktualisiert, wenn das Schema geändert wird, um Daten statt Modell zu verwenden
-
23-12-2019 - |
Frage
Dieses Beispiel von Kendos Website, die ich auf jsfiddle klone, funktioniert einwandfrei: http://jsfiddle.net/destan/xXc82/
Aber wenn ich diesen Teil ändere:
schema: {
model: {
id: "ProductID",
fields: {
ProductID: { editable: false, nullable: true },
ProductName: { validation: { required: true } },
UnitPrice: { type: "number", validation: { required: true, min: 1} },
Discontinued: { type: "boolean" },
UnitsInStock: { type: "number", validation: { min: 0, required: true } }
}
}
}
so was:(aktualisierte Geige: http://jsfiddle.net/destan/Wqd4t/1/)
schema: {
data: function(response){
return response
}
}
Wenn Sie dann nach dem Bearbeiten der Zeilen auf die Schaltfläche „Speichern“ klicken, wird das Raster nicht aktualisiert, obwohl die saveChanges
Ereignis wird ausgelöst.
Sie können weiter beobachten network
Registerkarte der Entwicklungskonsole, die im ersten Beispiel nach der Bearbeitung durch Klicken auf die Schaltfläche „Speichern“ eine Anfrage an den Server auslöst, während im zweiten Beispiel keine Anfrage gestellt wird.
Irgendeine Idee warum?
Lösung
Das Problem mit Ihrem Code ist, dass Sie ihn nicht definiert haben schema.model.id
Welche Datenquelle benötigt sie wann? create
,update
,delete
.Der korrigierte Code lautet also:
schema: {
model: {
id: "ProductID"
},
data: function(response){
return response;
}
}
Geige: http://jsfiddle.net/Wqd4t/2/
Verweise: kendo.data.DataSource
, kendo.data.Model