ارتكب قيمة جديدة من itemeritor قبل حدث itemEditEnd
-
21-09-2019 - |
سؤال
لدي بيانات ، مع itemEditor
مثل NumericStepper
في عدد قليل من الأعمدة. عندما يتم تحرير قيمة في DataGrid ، أود تحديث العديد من القيم المعروضة على الشاشة ، وأريد الاتصال updateValues()
وظيفة.
أولاً ، أضفت هذه الوظيفة إلى itemEditEnd
حدث DataGrid
, ، ولكن يتم استدعاء الوظيفة قبل تحديث القيمة الجديدة إلى dataProvider
وبالتالي ، فإن القيم التي لدي في الوظيفة هي القيم القديمة. هل هناك أي حدث آخر يتم إطلاقه بعد تحديث القيم في dataProvider
؟ أم هل فاتني شيء؟
ثانياً ، حاولت وضع هذه الوظيفة في حدث تغيير كل منهما itemEditor
(duh!) ، ولكن مرة أخرى ، يتم إطلاق حدث التغيير ، ولكن القيم في dataProvider
هي القديمة.
هل هناك أي طريقة يمكنني جعل الوظيفة updateValues()
يتم استدعاؤها ، في كل مرة يتم فيها تحرير القيمة وتحديثها في dataProvider
, ، لأن هناك من أين أتناول القيم؟
شكرًا جزيلاً.
المحلول
"في مستمع الحدث الخاص بك ، يمكنك فحص البيانات التي تم إدخالها في محرر العنصر. إذا كانت البيانات غير صحيحة ، فيمكنك استدعاء طريقة PreventDefault () لإيقاف Flex من تمرير البيانات الجديدة إلى عنصر التحكم المستند إلى القائمة ومن إغلاق محرر." ((مصدر)
لذلك نعم ، يتم استدعاؤه قبل أن يحتوي DataProvider على البيانات.
هذا ما يجب أن تقرأه: اكتشاف تعديلات البيانات. يتحدث عن كل الأشياء نفسها. أولوية الحدث هي التذكرة. معقدة للغاية هي الطريقة المرنة. هتافات.