تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
combobox لا يعرض الداتا عند عمل select
#1
السلام عليكم

اقوم يكتابة كود select في حدث combobox1.selectedindex

Dim com1 As New SqlCommand("select * from table_1 where id='" & Val(ComboBox4.Text) & "' ", con)
Dim s1 As New DataSet
Dim t1 As New SqlDataAdapter
t1.SelectCommand = com1
t1.Fill(s1, "table_1")
If s1.Tables(0).Rows.Count <> 0 Then
ComboBox1.DataSource = s1.Tables("table_1")
ComboBox1.DisplayMember = "name"
ComboBox1.ValueMember = "name"
End If
ولكن لا يعرض الداتا في combobox1 على الرغم من اني قمت بكتابة الكود في الجدول الخاص بالداتا في ال sql وتم عرض الاسم الخاص بال id
ملحوظة الكود يعمل في مكان اخر من الproject
ملحوظة تتكرر كثيرا هذه المشكلة الخاصة ب امر select في حدث combobox.selectedindex
ارجو الافادة وشكرا
الرد }}}
تم الشكر بواسطة: محمد اسماعيل
#2
أنت الآن في الحدث 
ComboBox.SelectedIndexChanged Event

وتقوم بإسناد مصدر البيانات ( DataSource ) إلى الـــ ComboBox1
عنما تقوم بإسناد أو تحديد مصدر البيانات للـ ComboBox1
ينتج عن هذا الأمر ( أحداث كثيرة ) ومن ضمنها إزالة أي عناصر في الــ ComboBox1 وربطها بالعناصر في الــ DataSource  الجديدة التي وضعتها أنت الآن
وهذا الأمر ينتج عنة أن يكون العنصر المحدد هو أول عنصر في المجموعة الموجودة في الــ DataSource 
مما يجبر الـــ ComboBox1 على إطلاق الحدث ( ComboBox.SelectedIndexChanged ) مره أخرى 
لاحظ أنك في الحدث  ( ComboBox.SelectedIndexChanged ) ولم تنتهي من الإجراءات التي كتبتها في هذا الحدث 
بالرغم من ذلك يتم إطلاقة مرة أخرى وأنت في منتصف الحدث القديم

إذا كانت لديك فكرة معينة لإعادة تعبئة الــ ComboBox1 من نفس الحدث الخاص به , 
قم بإنشاء متغير يدل على أنك تقوم بإعادة إسناد مصدر البيانات حتى تقوم بالخروج من الحدث 

مثلاً : قم بلإعلان عن متغير بإسم ( DataSourceIsChanging ) من نوع ( Boolean ) ( خارج الحدث )

Dim DataSourceIsChanging As Boolean = False

الأن في داخل الحدث وعند أول سطر تحقق من هذا المتغير حتى لا تتكرر الإجراءات
   







ملاحظات فقط لا غير :
مصدر البيانات يتم إسنادة مرة واحدة فقط عند إنشاء النافذة , لا تحتاج أن تقوم بإسنادة في كل مرة

لماذا تقوم بإنشاء DataSet في كل مرة
لماذا تقوم بإنشاء SqlDataAdapter في كل مرة

قم بإنشائهم مرة واحدة فقط 
في الحدث New مثلاً الخاص بالنافذة 
أو حتى أعلن عنها وإنشئها في العام الخاص بالنافذة ( ستتم قبل الحدث New )

كل ما عليك هو إعادة إستخدامها
الرد }}}


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] طريقة توسيط النص داخل اداة comboBox سمير1404 7 3,831 24-08-25, 01:01 PM
آخر رد: أبو خالد الشكري
  ابغي ارجع قيمة الداتا قراد فيو من جديد عندي مشكله khalidalwdi 3 620 05-12-24, 02:21 AM
آخر رد: aljzazy
  اريد جلب عدد محدد من السجلات من قاعدة بيانات اكسس الى الداتا قراد فيو يوجد مثال khalidalwdi 2 660 12-11-24, 12:19 PM
آخر رد: khalidalwdi
  التحكم في ارتفاع صفوف الداتا جريد فيو cvcvcv 3 4,650 09-10-24, 08:28 PM
آخر رد: Kamil
  كيف أضيف المواد في ComboBox إلى ComboBox آخر في فورم آخر F.H.M 13 837 25-09-24, 11:05 PM
آخر رد: Taha Okla
Rainbow [كود] البحث وتحريك اسهم الداتا جريدفيو عند البحث محمد مسافر 2 566 19-09-24, 01:14 AM
آخر رد: محمد مسافر
  اضافة اسطر فارعة في الداتا جريد فيو ismaeel 1 549 25-08-24, 02:43 AM
آخر رد: Taha Okla
  ارجو المساعدة في كود مقارنة عامود داخل الداتا جريد فيو alachk 11 1,053 11-08-24, 11:44 AM
آخر رد: alachk
  سؤال جمع كل صفين لوحدهم في الداتا جرايد فيو windoo 2 456 01-07-24, 12:07 PM
آخر رد: windoo
  كيف اضيف Where لجملة استعلام *SELECT بها جدولين moh61 13 1,210 25-06-24, 05:22 PM
آخر رد: moh61

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


يقوم بقرائة الموضوع: