13-07-14, 02:25 AM
يا أستاذي الفاضل الحل ان تستخدم BindingSource لأنه و بدون ربط البيانات المتكررة ب مفتاح معين ...هذا المفتاح الهدف منه هنا هو أنه و عند اختيار اي شئ من الكومبوبوكس يقوم باختيار البيانات المقابلة لهذا الإختيار و يعرضها ببشكل الذي تختاره انت لكن ف حالتك هنا قراءة البيانات تتم بشكل صحيح من الداتا بيز لكن عند عرض البيانات مع الاختيار يحدث الخطأ
لاحظ المثال التالي و كيف ان البيانات تتغير مع تغير المفتاح الذي حددناه لكل اختيار موجود ف الكومبوبوكس
عموما تاكد من ان الجملة المستخدمة لسحب البيانات من الداتا بيز مكتوبة برمجيا بشكل دقيق و لربما احد الزملاء الأفاضل من المهتمين ب الداتا بيز يستطيع مساعدنك ف ذلك
لاحظ المثال التالي و كيف ان البيانات تتغير مع تغير المفتاح الذي حددناه لكل اختيار موجود ف الكومبوبوكس
كود :
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim myDictionary As Dictionary(Of String, String) = New Dictionary(Of String, String)
myDictionary.Add("1", "Ahmed")
myDictionary.Add("2", "Ahmed")
myDictionary.Add("3", "Ahmed")
ComboBox1.DataSource = New BindingSource(myDictionary, Nothing)
ComboBox1.DisplayMember = "Value"
ComboBox1.ValueMember = "Key"
End Sub
Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
Me.Label1.Text = CType(ComboBox1.SelectedItem, KeyValuePair(Of String, String)).Value
Select Case CType(ComboBox1.SelectedItem, KeyValuePair(Of String, String)).Key
Case 1
Label2.Text = "you are great"
Case 2
Label2.Text = "you are wrong"
Case 3
Label2.Text = "you are correct"
End Select
End Sub
End Classعموما تاكد من ان الجملة المستخدمة لسحب البيانات من الداتا بيز مكتوبة برمجيا بشكل دقيق و لربما احد الزملاء الأفاضل من المهتمين ب الداتا بيز يستطيع مساعدنك ف ذلك

