سؤال

أنا أستخدم Infragistics Ultagrid مع Datasouce Windows Bindingsouce. عند التغيير، أقدم DataSouce إلى Bindingsouce واستدعاء البيانات إلى Ultagrid. تتغير القيمة في Datasouce of Bindingsouce، ولكن لا ينعكس ذلك في Ultagrid.

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

المحلول

يجب أن يرفع مصدر الربط الخاص بك بعض الحدث لتشغيل تحديث الشبكة. على سبيل المثال، إذا كنت تستخدم BindingList يجب أن ترفع ListChanged حدث.

نصائح أخرى

تأكد أيضا من أن أي فئة تستخدمها ككائن ملزم الخاص بك ينفذ InotifyPropertyChanged بحيث عند تحديث BindingObject في وقت التشغيل، يتم توجيهها إلى BindingSource والتي يتم التقاطها في نهاية المطاف بواسطة شبكة.

بمعنى آخر:

BindingList<Foo> lstItems = new BindingList<Foo>;
BindingSource bso = ;
bso.DataSource = lstItems; 
Grid.DataSource = bso; 

public class Foo :  INotifyPropertyChanged

انظر مقالة MDSN هنا

يعتمد أيضا إذا قمت بتغيير المجموعة خارج الشبكة (في وقت التشغيل، لأنه إذا قمت بذلك، فأنت بحاجة إلى الاستخدام BindingList<T> وتعيينه ل BindingSource

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