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

نسخة كاملة : كيف احدث بيانات سطر DataGridView
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
لدي قاعدة بيانات ds أحد جداولها مربوط بـ DataGridView وعند إجراء أي تغيير لأحد سطورها , ثم الانتقال لسطر آخر لا يعطي الوسيط ds.HasChanges قيمة True أول مرة ولكن يعطيني هذه القيمة عند الانتقال لسطر آخر مرة ثانية
السؤال كيف لي ان احدث البيانات ليعطيني الوسيط ds.HasChanges القيمة True عند الانتقال لسطر جديد من أول مرة
ياشباب المنتدى, ساعدوني في حل هذه المشكلة, مضــــــــــــــطــــــــــر
لم تنفع !!!!!
اخي الكريم اذا كان قصدك التحديث الفوري ممكن تستخدم حدث currentcellchanged
للعلم : الجريدفيو  متعوب علية كثير من الميكروسوفت
وتم تخصيص مجموعه كبيرة من الاحداث لها

وأنا  أيضـــــــا : خصصت كلاس لهـــــــــا  في النت فريم وورك الخاص بي 

مشكلتك في مكان الكود  
لازم تختار أحد الاحداث المخصصة للخلية أو السطر
لمزيد من التوضيح:
  عملت اتصال لقاعدة البيانات وربط داتا غرايد فيو بأحد جداولها بالشكل التالي:
كود :
ConnString = "Provider=MicroSoft.jet.oledb.4.0;Data Source=" & Application.StartupPath & "\Data.mdb"
con = New OleDbConnection(ConnString)
       DS = New DataSet
       con.Open()
       SQL = "SELECT * FROM Families"
       DaFamilies = New OleDbDataAdapter(SQL, con)
       DaFamilies.Fill(DS, "Families")
       con.Close()

       DGVFamilies.AutoGenerateColumns = False
       DGVFamilies.DataSource = DS.Tables("Families")

       DGVFamilies.Columns(2).DataPropertyName = "Name"
       DGVFamilies.Columns(3).DataPropertyName = "personsID"
       DGVFamilies.Columns(4).DataPropertyName = "State"
       DGVFamilies.Columns(5).DataPropertyName = "ColumnNum"
       DGVFamilies.Columns(6).DataPropertyName = "FamilyBookNum"

المشكلة أنه طالما أنا ضمن سطر من أسطر الداتا غرايد تبقى DS.GetChanges = Nothing ولا تأخد التغيرات إلا عندما انتقل لسطر جديد
اي عند الحدث  RowLeave تبقى  DS.HasChanges = False
ولا تصبح True إلا غند الحدث RowEnter
لا توجد طريقة لجعل DS.GetChanges = Not Nothing عند تغيير خلية من خلايا السطر او عند الحدث RowLeave
أرجو أن تكون وصلت الفكر
ملاحظة : أكثر مايهمني هو الحدثين:  RowValidating , RowValidated
عند الحدث RowValidating تكون DS.GetChanges = Nothing
عند الحدث RowValidated تكون DS.GetChanges = Not Nothing
وانا اريد أن تكون DS.GetChanges = Not Nothing عند الحدث RowValidating

انا عملت حل مؤقت لهذه المشكلة بجعل الخلية الحالية بسطر أخر وإرجاعها برمجيا
DGVFamilies.CurrentCell = "Cell at another Row"
DGVFamilies.CurrentCell = "Cell at original Row "
ولكن أكيد يوجد حل آخر
شكرا ameerah
حلت المشكلة