منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : فحص لــ القيمة المدخلة فى حقل مفتاح رئيسى Unique Key ل datagridview
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
فى حقل فى الجدول يعتبر حقل مفتاح رئيسى من النوع String  عاوز اقدر اغير فى البيانات .......بس لو CELL تركت فارغة او تكرر المحتوى بداخلها تظهر رسالة معينة .....و يتم الرجوع للقيمة السابقة
ارجوا توضيح ما المقصود بــ حقل مميز ؟
وما هي القيمة السابقة ؟
(14-11-16, 08:54 AM)Genius Live كتب : [ -> ]ارجوا توضيح ما المقصود بــ حقل مميز ؟
وما هي القيمة السابقة ؟

اقصد بالحقل المميز unique field
او المفتاح الرئيسى
Try it
كود :
 If datagridview1.CurrentRow.Cells(0).Value= Nothing MsgBox("empty cell")
Change Cells(0) to cell index
(14-11-16, 11:35 AM)Genius Live كتب : [ -> ]
Try it
كود :
 If datagridview1.CurrentRow.Cells(0).Value= Nothing MsgBox("empty cell")
Change Cells(0) to cell index
احب ان اشكرك على تعبك معى
أولا لم تنجح المحاولة
لو انتقل المستخدم من الصف الذى فيه التغير الى صف اخر ..........سيختلف currentRow
ثانيا: اتمنى ان ارجع cell الى الوضع السابق قبل التعديل
السؤال بهذه الطريقة غامض نوعا ما صديقي
ما هي طريقة الربط (كود او معالج)؟
هل ستفحص التكرار عبر DataGridView فقط , اي البيانات المعروضة فيها  , هل البيانات في الجدول المطلوب كلها معروضة في DataGridView ام جزء منها وفق استعلام ما
ام ستفحص وفق الجدول الموجود في القاعدة (اي كل بيانات الجدول)
بالنسبة لادخالات الفارغة يمكنك اعتماد كود الاخ Genius  و لكن السؤال في اي حدث ستضعه اعتقد ان الاحداث الخاصة بالاسطر هي انسب مكان
مثل (RowValidated,Rowvalidating,RowLeave) او يمكنك حتى اعتماد الحدث (DataGridView_DataError) و تجربة مثل هذا الكود

PHP كود :
           If IsDBNull(DataGridView.CurrentRow.Cells("Cell").ValueThen

                MsgBox
("لا يمكن ان تكون القيمة فارغة"MsgBoxStyle.MsgBoxRtlReading MsgBoxStyle.Exclamation"تنبيه")
 
               e.Cancel True

            End 
If 
اولا: احب ان اشكر كل من تعب معى فى هذا الموقع الرائع
ثانيا: لقد وجدت الحل باستخدام datagridview1_DatatError

وهذا هو الكود
PHP كود :
Private Sub DataGridView1_DataError(ByVal sender As System.ObjectByVal e As System.Windows.Forms.DataGridViewDataErrorEventArgsHandles DataGridView1.DataError
       
        If 
(e.Context DataGridViewDataErrorContexts.Commit_
            Then
            MessageBox
.Show("Commit error")
 
       End If
 
       If (e.Context DataGridViewDataErrorContexts _
            
.CurrentCellChangeThen
            MessageBox
.Show("Cell change")
 
       End If
 
       If (e.Context DataGridViewDataErrorContexts.Parsing_
            Then
            MessageBox
.Show("parsing error")
 
       End If
 
       If (e.Context _
            DataGridViewDataErrorContexts
.LeaveControlThen
            MessageBox
.Show("leave control error")
 
       End If

 
       If (TypeOf (e.ExceptionIs ConstraintExceptionThen
            Dim view 
As DataGridView CType(senderDataGridView)
 
           view.Rows(e.RowIndex).ErrorText "an error"
 
           view.Rows(e.RowIndex).Cells(e.ColumnIndex_
                
.ErrorText "an error"

 
           e.ThrowException False
        End 
If
 
   End Sub