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

نسخة كاملة : مشكلةعند تعبئةالداتاجريد فيو
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم

انا بستخدم الوظيفة التالية لتعبئة الداتاجريد للمشروع ككل وبيتم التعبئة وكل شيء تمام .

الداتاجريد فيها خلية بوتن لاظهار تفاصيل العمليات الجزئية .

لو افترضنا ان الخلية الجزئية لاتحتوي علي بيانات لجداول فرعية بيظهر رسالة بعدم وجود بيانات لحد كدة تمام .

لو مفيش بيانات ورحت لزرار أخر بخلية أخري فيها بيانات المشكلة بتحصل هنا بيظهر اعمدة زيادة في قاعدة البيانات الي بتظهر في الفورم الجديد للداتاجريد فيو للعمليات والجداول الفرعية .

المشكلة خاصة بالداتاسيت لان في الحالة دية بتقوم بتعبئة اكتر من جدول او خلل في التعبئة لعدم وجود بيانات .

الي قمت بية عمل ريسيت للداتاسيت وحذف كل شيء فيها والعمليات سعات بتظهر فارغة بس لو دخلت مرة اخري بتظهر عادي.

مش عارف اية الصح عشان متظهرش فارغة وتظهر بشكل سريع ومتحتجش لاعادة الضغط اكتر من مرة عشان تظهر بشكل كويس


كود :
Public Sub filldatg( ByVal dg As DataGridView, ByVal ds As DataSet, ByVal tablename As String, ByVal qurey As String)
              If con.State = ConnectionState.Closed Then
           con.Open()
       End If
       Using cmd As OleDbCommand = New OleDbCommand(qurey, con)
           Using DataAdapter = New OleDbDataAdapter(cmd)
               ds.Clear()
               DataAdapter.Fill(ds, tablename)
               dg.DataSource = ds
               dg.DataMember = tablename
                 DataAdapter.Dispose()
           End Using
       End Using
       con.Close()
          End Sub
 

كود الريسيت

كود :
DSADDFILL.Reset()
وعليكم السلام ورحمة الله وبركاته

استخدم الكود بهذا الشكل افضل
كود :
   Public Sub filldatg(ByVal dg As DataGridView, ByVal qurey As String)
       Using cmd As OleDbCommand = New OleDbCommand(qurey, con)
           Using DataAdapter = New OleDbDataAdapter(cmd)
               Dim dt As New DataTable
               dt.Clear()
               DataAdapter.Fill(dt)
               dg.DataSource = dt
           End Using
       End Using
   End Sub

وعند التعبئة سيكون
كود :
filldatg(DataGridView1, "Select * From tt1")

وبكده انت لا تحتاج الى ريسيت او تفريغ اى شئ

تحياتى لك
وتمنياتى لك التوفيق