La grille Kendo Ui ne se met pas à jour lors du changement de schéma pour utiliser les données au lieu du modèle
-
23-12-2019 - |
Question
Cet exemple du site de kendo que je clone sur jsfiddle fonctionne très bien : http://jsfiddle.net/destan/xXc82/
Mais quand je change cette pièce :
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 } }
}
}
}
comme ça:(violon mis à jour : http://jsfiddle.net/destan/Wqd4t/1/)
schema: {
data: function(response){
return response
}
}
puis cliquer sur le bouton Enregistrer après avoir modifié les lignes ne mettra pas à jour la grille bien que le saveChanges
l'événement est déclenché.
Vous pouvez observer sur network
onglet de la console de développement qui, dans le premier exemple, après l'édition, en cliquant sur le bouton Enregistrer, provoque une requête au serveur tandis que dans le deuxième exemple, aucune requête n'est effectuée.
une idée de pourquoi ?
La solution
Le problème avec votre code est que vous n'êtes pas défini schema.model.id
quelle source de données en a besoin lorsque vous create
,update
,delete
.donc le code corrigé est :
schema: {
model: {
id: "ProductID"
},
data: function(response){
return response;
}
}
violon: http://jsfiddle.net/Wqd4t/2/
les références: kendo.data.DataSource
, kendo.data.Model