سؤال

لدي DataGrid، مملوء بالكائنات الموجودة في ArrayCollection.بعد تحديث أحد حقول الكائنات، أريد تحديث الشاشة.مصدر البيانات غير قابل للربط، لأنني أقوم بإنشائه في وقت التشغيل (ولا أفهم كيفية جعله قابلاً للربط بسرعة حتى الآن - هذا سؤال آخر).

في هذه الحالة، إذا قمت باستدعاء InvalidateDisplayList() على الشبكة، فلا يبدو أن هناك شيئًا يحدث.ولكن إذا قمت بالاتصال بـ validateList()، فستحدث التحديثات.(وهو سلس جدًا أيضًا - لا يوجد وميض كما أتوقع من إبطال نافذة في WIN32.)

إذن السؤال:ما هو الفرق بين InvalidateList وInvalidateDisplayList؟من الوثائق يبدو أن أيًا منهما يجب أن يعمل.

هل كانت مفيدة؟

المحلول

تخبر قائمة EnvalateList المكون بأن البيانات قد تغيرت، ويحتاج إلى إعادة تحميلها وإعادة عرضها.

يخبر الخيار validateDisplayList المكون بأنه يحتاج إلى إعادة رسم نفسه (ولكن ليس بالضرورة إعادة تحميل بياناته).

نصائح أخرى

تقوم الدالة validateDisplayList() فقط بتعيين علامة بحيث يمكن استدعاء updateDisplayList() لاحقًا أثناء تحديث الشاشة.validateList() هو ما تريده.

http://livedocs.adobe.com/flex/2/langref/mx/core/UIComponent.html#invalidateDisplayList()

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