لا يتم تحديث شبكة Kendo Ui عند تغيير المخطط لاستخدام البيانات بدلاً من النموذج
-
23-12-2019 - |
سؤال
هذا المثال من موقع kendo الذي قمت باستنساخه إلى jsfiddle يعمل بشكل جيد: http://jsfiddle.net/destan/xXc82/
لكن عندما أغير هذا الجزء:
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 } }
}
}
}
مثله:(كمان محدث: http://jsfiddle.net/destan/Wqd4t/1/)
schema: {
data: function(response){
return response
}
}
ثم النقر فوق زر الحفظ بعد تحرير الصفوف لن يؤدي إلى تحديث الشبكة على الرغم من أن saveChanges
يتم تشغيل الحدث.
يمكنك المراقبة على network
علامة التبويب الخاصة بوحدة تحكم المطورين والتي في المثال الأول بعد التحرير، يؤدي النقر فوق زر "حفظ" إلى إرسال طلب إلى الخادم بينما في المثال الثاني لم يتم تقديم أي طلب.
أي فكرة لماذا؟
المحلول
المشكلة في الكود الخاص بك هي أنك لم تحدد schema.model.id
مصدر البيانات الذي يحتاج إليه عندما create
,update
,delete
.إذن الكود المصحح هو:
schema: {
model: {
id: "ProductID"
},
data: function(response){
return response;
}
}
كمان: http://jsfiddle.net/Wqd4t/2/
مراجع: kendo.data.DataSource
, kendo.data.Model
لا تنتمي إلى StackOverflow