الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

التكرار في الكومبوبوكس

بدأه AboMm11 في 23 مايو 2008 · 3 رد · 833 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

سؤال يا اخوان

عندي كومبوبوكس وفيه 10 آيتم

وهذه الايتم مأخوذة من الاكسس

ومنهم 3 متكررين

السؤال:كيف يمكن ازالة التكرار في الكومبوبوكس وبحيث يصبحون 8؟

#2

هذا حل صعب قليلا ولكن مجرب:

أنشئ داتا ست وخزن محتويات الكومبو في جدول في الداتا ست وعند الاسترجاع يمكنك الترتيب (استخدمت في المثال: VS2008 + LING+XML)

		Dim i As Int16 = 0
			'SaveCB
			DS.TABEL1.Clear()
			Do While i < Me.ComboBox1.Items.Count
				DS1.TABEL1.AddBathsRow(ComboBox1.Items(i))
				i += 1
			Loop
			DS1.WriteXml("baths.xml")

			'ReadCB
			i = 0
			ComboBox1.Items.Clear()

			Dim LST As System.Collections.Generic.IEnumerable(Of String) = _
			From a In DS1.TABEL1 _
			Select a.Bathes _
			Distinct

			LST = LST.ToList
			Do While i < LST.Count 
				ComboBox1.Items.Add(LST(i))
				i += 1
			Loop

وفي حدث التحميل لا تنسى هذه الجملة (كأول مرة ستظهر رسالة خطأ لعدم وجود الملف)

			ReadTXTFiles_DS.ReadXml("baths.xml")

تم تعديل هذه المشاركة بواسطة seahmad في 26 مايو 2008 في 12:04

فلسطين الزاهية بألوان الحب والسلام

ذلك الطعم الزيتوني الذي يتدفق عسلاً من أفواه بساتينها وحدائقها

تشتاق إليها نفوس المتقين وترنوا للسجود فيها جباه المسلمين

#3

أيضاً طريقة أخرى

DataAdapter جديدة

DataSet جديد

وجملة SQL تستخدم فيها التجميع GROUP BY

مثال

Dim PersonName As String = "SELECT Name FROM Person GROUP BY Name"
Dim DAcbo As New OleDbDataAdapter(Person, Conn)
		Dim DScbo As New DataSet
		DAcbo.Fill(DScbo, "Person")

		Me.ComboBox2.DataSource = DScbo
		Me.ComboBox2.DisplayMember = "Person.Name"

جرب قد تنفع أيضاً

تم تعديل هذه المشاركة بواسطة مصلح الحريصي في 27 مايو 2008 في 14:27

#4

السلام عليكم ..

أي تكرار في الجدول يمكن تفاديه بإضافة كلمة DISTINCT إلى جملة الاستعلام التي ستكون مصدراً للكومبو

	
Dim dt As New DataTable
Dim strSQL As String

		 strSQL = "SELECT  DISTINCT MyField  FROM MyTable"


		 Dim da As New SqlDataAdapter(strSQL, CnStr)
		  da.Fill(dt)


		  MYComboBox.DataSource = dt

وإذا كانت قاعدة البيانات أكسس تغير الأدبتر إلى OleDbDataAdapter

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…