تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] مشكلةعند تعبئةالداتاجريد فيو
#1
السلام عليكم

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

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

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

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

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

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

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


كود :
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()
الرد
تم الشكر بواسطة:
#2
وعليكم السلام ورحمة الله وبركاته

استخدم الكود بهذا الشكل افضل
كود :
   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")

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

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم