مشاكلي كلها مع قواعد البيانات
استخدمت المعالج لانشاء DataSet وكذلك DataBinding وكذلك DataAdpter وربطه بالاداة DataGrid وعندما اضيف سجل جديد واتحرك في الى سجل اخر في الـ DataGrid تظهر هذه الرسالة
طبعا هي شئ طبيعي لان الحقل Id لا يجب ان يكون فارغا .
المطلوب جزاكم الله خيرا هو اين اسبق هذا الحدث لاعالجه بنفسي وعلى طريقتي ، بحتث بكل الاحداث ولم اجده .
ما هي الطريقة التي تظيف فيها سجل جديد
هل هي من خلال تعبئة الـ DataGridView ( هل هو من خلال السجل الأخير في الـ DataGridView المخصص لإضافة سجلات جديدة )
أم تقوم بإضافة السجل من داخل الكود مباشرتاً داخل الجدول المرتبط بالـ DataGridView
إذا كان من خلال السجل الأخير في الـ DataGridView المخصص لإضافة سجلات جديدة , فعند دخولك لهذا السجل ,
فقط بمجرد أن تحرر أحد الحقول , عند خروجك من السجل يجب أن يكون مكتمل الشروط
المتحكم في هذة العملية هو الـ BindingSource
مبسوط صراحة أنك تعمل على الـ DataSet و الـ BindingSource و الـ DataAdapter
إقتباس :هل هو من خلال السجل الأخير في الـ DataGridView المخصص لإضافة سجلات جديدة
صحيح انه كذلك
إقتباس :المتحكم في هذة العملية هو الـ BindingSource
وهذه هي المشكلة لانني حاولت بكذا مكان ان اسبق الحدث Position فلم اجد .
دخلت حتى على ملف الـ DataSet لعلي اجد حدث ما هنا او هناك في الاعمدة ولم اجد شئ يسبق هذا الحدث .
اذا كنت لا استطيع ان اسبق هذا الحدث الا يوجد اخي الدوسري طريقة لقنص الخطاء هذا وعدم اظهار هذه الرسالة
مثل توجيه كل الاخطاء الخاصة بعمليات قاعدة البيانات الى اجراء محدد .
إقتباس :مبسوط صراحة أنك تعمل على الـ DataSet و الـ BindingSource و الـ DataAdapter
لا احب ان ابداء من الصفر في اي شئ .
طالما هناك شئ جاهز وبيضة مقشرة لماذا اتناول بيضة غير مقشرة .
أهلا أخي viv
الأمور التي تحدث منطقية .
ماذا تريد أن تفعل في هذة الحالة ؟
هل تريد إلغاء عملية إدخال جديد . بما أنك دخلت في السجل الأخير .
هل أصلاً تم تغيير أحد حقول السجل الأخير أم ان الخطاء يظهر بمجرد المرور علية والخروج منه بدون تغيير شيء؟
ما هو السينارو الذي تريدة أن يحدث في هذة الحالة .
وعليكم السلام ورحمة الله وبركاته
المطلوب هو الغاء السجل الاخير بدون ظهور اي رسالة انجليزية .
طبعا تظهر الرسالة بدون ان ادخل اي شئ مجرد اضافة سجل جديد بنهاية قاعدة البيانات تم الخروج منه ، طبعا الحقل Id مطلوب ولا يمكن تركه فارغ
انا شديد الحساسية للرسائل الانجليزية .
او استبدالها برسالة عربية تقول ان هناك حقول مطلوبة هل تريد الغاء السجل او العودة البقاء لتصحيح البيانات .
ملاحظة الرسالة تظهر قبل تنفيذ الحدث Position
ايضا حاولت من هذا الحدث لمصمم الداتاسيت
PHP كود :
Partial Class EmpDataSet
Partial Class FmainDataTable
Private Sub FmainDataTable_ColumnChanging(sender As Object, e As DataColumnChangeEventArgs) Handles Me.ColumnChanging
If (e.Column.ColumnName = Me.FnoColumn.ColumnName) Then
End If
End Sub
End Class
End Class
وجدت موضوع لك ايضا عن اقتناص الاحداث على مستوى المشروع جربته ولم ينتقل له هذا الاستثناء
PHP كود :
' The following events are available for MyApplication:
'
' Startup: Raised when the application starts, before the startup form is created.
' Shutdown: Raised after all application forms are closed. This event is not raised if the application terminates abnormally.
' UnhandledException: Raised if the application encounters an unhandled exception.
' StartupNextInstance: Raised when launching a single-instance application and the application is already active.
' NetworkAvailabilityChanged: Raised when the network connection is connected or disconnected.
Partial Friend Class MyApplication
Private Sub MyApplication_UnhandledException(sender As Object, e As ApplicationServices.UnhandledExceptionEventArgs) Handles Me.UnhandledException
End Sub
End Class
اخ كودور البرنامج مثال صغير وتجربة بسيطة لا يوجد فيه اي كود ماعدا سطر اضافه معالج البيانات لحدث التحميل يقوم على تعبئة البيانات في الـ DataGrid
PHP كود :
Me.FmainTableAdapter.Fill(Me.EmpDataSet.Fmain)
في احد الازرا امر اضافة سطر جديد
PHP كود :
FmainBindingSource.AddNew()
وفي الزر الثاني سطر الحفظ
PHP كود :
FmainBindingSource.EndEdit()
Me.FmainTableAdapter.Update(Me.EmpDataSet.Fmain)
والزر الاخر امر الحذف
PHP كود :
FmainBindingSource.RemoveCurrent()
شرحه ربما اسهل من رفع سكربت لقاعدة البيانات ومثال فيه ادوات DEvexpress 17.2 قد تكون مختلفة عندك وهلم جرا
احد الاخوة طلب نواع الخط رفعته بالمرفقات
طبعا الخط يحتاج الى بعض التعديل فالارقام تحتاج ان تكون اكبر قليلا واوضح