السلام عليكم
عندما ننشئ عمود ضمن شبكة الكرايد يعطينا خيارات من ضمنها خيار كومبو بوكس
كيف املئ هذا الكومبو الموجود ضمن الشبكة من بيانات جدول محدد
شكرا
عادي جدا اعتبره كانه combobox مستقل مثلا
كود :
Me.tn.DataSource = dt
Me.tn.DisplayMember = "tn"
المثال مرفق
ماشاء الله عنك اخ سعود
زادك الله علما
معليش اتحملني شوي
انا املئ الكومبو بهذه الطريقة
'***************************************************************
'تحميل كومبو الأقسام الموجودة
Me.Cursor = Cursors.WaitCursor
If Con.State <> ConnectionState.Open Then
GeneralConnection()
End If
If Con.State = ConnectionState.Open Then
Sql = Nothing
Sql = "SELECT na FROM NQsm"
Dim Cmd1 As New SqlCommand(Sql, Con)
Dim DR1 As SqlDataReader = Nothing
DR1 = Cmd1.ExecuteReader
Do While DR1.Read()
ComboBox1.Items.Add(DR1.Item("na"))
Application.DoEvents()
Loop
DR1.Close()
Cmd1.Cancel()
Con.Close()
Me.Cursor = Cursors.Default
End If
'***************************************************************
ماذا اضع بدل هذا السطر
ComboBox1.Items.Add(DR1.Item("na"))
اذا كان اسم شبكة الكرايد dg1
واريد ملئ العمود السادس
شكرا
اخي الكريم قلت لك تعامل معه وكانه كومبو مستقلة ونت كتبت الحل .. فين المشكلة؟
كود :
Public Class Form2
Dim con As New OleDb.OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=|datadirectory|\db.accdb")
Dim dt As New DataTable
Dim cm As New OleDb.OleDbCommand("select tn from tb", con)
Dim dr As OleDb.OleDbDataReader
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
If con.State = ConnectionState.Closed Then
con.Open()
End If
dr = cm.ExecuteReader
If dr.HasRows Then
Do While dr.Read
tn.Items.Add(dr(0))
Loop
dr.Close()
End If
End Sub
End Class
هذا كلاس الفورم الثاني ويعمل بشكل جيد
لاحظت شي وهو انك كتبت الاكواد ضمن شرط انفتاح الاتصال
كود :
If Con.State = ConnectionState.Open Then
يعني لو ان الاتصال مغلق لن يعمل شيء يفترض ان يكون التحقق من الاتصال لايحتضن اوامر اخرى يعني كما كتبت لك يكون هكذا
كود :
If con.State = ConnectionState.Closed Then
con.Open()
End If
وبعد جملة الشرط هذه تكتب ماتريد من اجراءات
شكرا جزيلا على التوضيح
وفقك الله