سؤال

لقد حصلت على devexpress textedit وهي قاعدة بيانات إلى مجموعة بيانات.

الحقل هو نسبة مئوية اختيارية ، (نوع البيانات المزدوج).

عندما يتم تحميل السجل ولا توجد قيمة في الحقل ، كل شيء على ما يرام.

ومع ذلك ، إذا قمت بكتابة شيء ما في الحقل (أي 100) ثم تريد إزالته بعد ذلك ، أحصل على قيمة غير صالحة.

لماذا يحدث هذا ، وكيف يمكنني إزالته؟

ليس لدي أي قناع أو أي نوع من التحقق الصريح في هذا الحقل.

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

المحلول

لقد حلت هذا بمساعدة بريندون Muck في منتديات Devexpress.

كان أحد textedit الخاص بي ملزماً بخاصية النص بدلاً من editvalue (يجب أن يكون كل شيء ملزماً بالإحداثي)

أيضا ، لكل بريندون

حذف النص خارج عنصر التحكم TextedIt لا يعين الحقل على Null. يجب عليك التعامل مع الحدث EditValuechanged وتعيين القيمة يدويًا على Null عند اكتشاف سلسلة فارغة.

لذلك ، لقد قمت بإنشاء طريقة للتعامل معها

Private Sub SetTextEditToNull(ByVal sender As TextEdit)

    If String.IsNullOrEmpty(sender.EditValue.ToString.Trim()) And (Not sender.EditValue Is DBNull.Value) Then

        sender.EditValue = DBNull.Value

    End If

End Sub

وفي معالج الحدث الخاص بي ، أستخدم:

    SetTextEditToNull(CType(sender, TextEdit))
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top