لا يتم تحديث شبكة Kendo Ui عند تغيير المخطط لاستخدام البيانات بدلاً من النموذج

StackOverflow https://stackoverflow.com//questions/22074715

سؤال

هذا المثال من موقع 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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top