كيف يمكنني النار معالج حدث بعد قيمة في TcxGrid قد تغير ؟

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

سؤال

لدي DevExpress TcxGrid, مع معالج الحدث تعلق به GridView هو OnEditValueChanged الحدث الذي من المفترض أن ألخص بعض البيانات في أحد الأعمدة.المشكلة أن هذا الحدث يحصل أطلقت خلال التحقق ، قبل تحديث قيمة كتب الكامنة dataset.أنا لم تكن مألوفة جدا مع TcxGrid.لا أحد يعرف إذا كان هناك طريق إلى النار معالج الحدث بعد البيانات تم تحديثها ؟

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

المحلول

ماذا عن استخدام حدث DataSource.ondatachange؟

نصائح أخرى

لست متأكدا إذا كان هذا هو بالضبط ما تحتاج إليه ، لكنني وجدت ImmediatePost خيار الشبكة أن تكون مفيدة جدا في الحالات التي لا تحتاج إلى تحديث موجز إنه دفن تحت تحكم البيانات ممتلكات cxView.وهذا يجعل الشبكة تتصرف مثل جدول بيانات - بمجرد أن يقوم المستخدم بالضغط على enter أو tab في خلية سجل يحصل على نشرها.ثم أود أن يكون لي يلخص الحدث النار من AfterPost الحدث dataset, ربما ؟

(ربما كنت أعرف مسبقا هذا ولكن gridview نفسه لديه الكثير من المفيد جدا يلخص الخيارات التي بنيت في ذلك - نظرة على ملخص خصائص الأعمدة ، وتأكد ShowFooter تعيين إلى true في ViewOptions - حتى إذا كان لديك ملخص بسيط نسبيا مجموع أو متوسط أو ما شابه ، والسماح الشبكة تفعل كل شيء وتنقذ نفسك بعض العمل.)

هل تستخدم CXTableView أو cxdbtableview في cxgrid

إذا كنت تستخدم cxdbtableview ثم قمت بتعيين الحدث الخاص بك في DataSource.onchange of the DataSource المرتبط في خاصية cxdbtableview. (cxdbtableview .datacontroller.datasource)

سأذهب مع Skamradt: ابحث عن أكثر بعناية للحدث الذي يطابق توقعاتك.

خلاف ذلك، يمكنك توصيل الحدث الخاص بك بعد التأكد من تهيئة بياناتك:

 procedure TMyGrid.MyProc_OnDataLoaded( Sender : TObject ); //I made up this event, I'm not sure it exists
 begin
   Self.OnEditValueChanged := MyProc_OnEditValueChanged;
 end;

أود أن أنصحك بشدة عدم استخدام هذا كحبيبة منتظمة (جعل حدث يحدد رد اتصال آخر من خلال الرمز هو وسيلة مؤكدة لتصحيح الجحيم)، ولكن إذا لم تجد حقا أي طريقة أخرى للقيام بذلك ...

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