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

أريد اضافة جدول حقوله عباره عن كومبوبوكسس

مغلق
بدأه warning في 19 يناير 2008 · 13 رد · 1,365 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ,,

اريد اضافة جدول , بعض الاعمده فيه الحقول عباره عن كومبوبوكسس تأخذ بياناتها من الداتا بيز ,, بمعنى :

اريد جدول يكون العمود الاول فيه اسمه ( من مدينة ) , وكل حقل يندرج تحت هذا العمود عباره عن كومبو بوكس عند الضغط عليه تظهر مدن مسجلة في جدول المدن في الداتابيز ,

المشكلة هنا مااسم الاداة التي سأستخدمها , حاولت باستخدام الداتا قريد فيو , ولكني لم استطع التحكم فيها واضافه كومبو بوكس وخلافه , ارجو المساعده

#2

ممكن ترفع مثالك و إن شاء الله تلقى مطلوبك

الفكرة بكل بساطة

تعريف متغير من نوع DataGridViewComboBoxColumn

ثم إدراجه في الداتا جريد

Dim CityCol As New DataGridViewComboBoxColumn
		 With CityCol
			.HeaderText = "Location ID"
			.DropDownWidth = 60
			.Width = 90
			.MaxDropDownItems = 5
			.FlatStyle = FlatStyle.Flat

			.DataSource = MySource"هنا ضع الـ Datasource"
			.ValueMember = City
			.DisplayMember = .ValueMember
		End With

		Grid1.Columns.Insert(2, CityCol)

تم تعديل هذه المشاركة بواسطة بن ملعاط في 19 يناير 2008 في 13:40

اللهم اغفر لي و لوالدي و للمؤمنين يوم يقوم الحساب

لا إله إلا الله عدد ما كان و عدد ما يكون و عدد الحركات و السكون

#3

شكراً اخي الكريم على اجابتك , وقد حاولت تطبيق حلك ولكن يعطيني خطأ وهو كما يلي :

Insertion index was out of range. Must be non-negative and less than or equal to size.

Parameter name: index

سأقوم بنسخ الكود بأكمله :

Private Sub GatePass_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim DataGridView1 As New DataGridView

Dim dataSet1 As New DataSet

Dim sqlSTR As String = "SELECT * FROM CITIES"

conn.Open()

Dim dataAdapter1 As New SqlDataAdapter(sqlSTR, conn)

dataAdapter1.Fill(dataSet1, "Cities")

conn.Close()

Dim CityCol As New DataGridViewComboBoxColumn

With CityCol

.HeaderText = "city_name"

.DropDownWidth = 60

.Width = 90

.MaxDropDownItems = 5

.FlatStyle = FlatStyle.Flat

.DataSource = dataSet1

.ValueMember = "Cities"

.DisplayMember = .ValueMember

End With

DataGridView1.Columns.Insert(2, CityCol)

End Sub

ارجو نسخ الكود ولصقه على ملف تكست لتستطيع القراءه , حيث ان متصفحي لا يدعم زر الاكواد :)

تشكر وياحج

#4

أنا استخدمت هذا الكود لحشر العمود بين العمود1 و العمود3 في الداتاقريد

DataGridView1.Columns.Insert(2, CityCol)

و لكن ممكن تستخدم الكود التالي لإضافة العمود في النهاية

DataGridView1.Columns.Add(CityCol)

و إن شاء الله يعمل

اللهم اغفر لي و لوالدي و للمؤمنين يوم يقوم الحساب

لا إله إلا الله عدد ما كان و عدد ما يكون و عدد الحركات و السكون

#5

لإضافة العمود إلى قاعدة البيانات نستعمل الطريقة add بدلا من insert إذا لم يكن هناك اي عمود في قاعدة البيانات وعند وجود عمود أو اكثر نستخدم الطريقة insert وكذلك الطريقة add تستخدم لإضافة العمود في آخر الداتا قريد

أنا الرجل الضرب الذي تعرفونه***خشاش كرأس الحية المتوقد

لوكنت وغلاً في الرجال لضرني**** حسن جرائتي ومقتدي

منتديات طريق الهداية

#6

Private Sub GatePass_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim DataGridView1 As New DataGridView

Dim dataSet1 As New DataSet

Dim sqlSTR As String = "SELECT * FROM CITIES"

conn.Open()

Dim dataAdapter1 As New SqlDataAdapter(sqlSTR, conn)

dataAdapter1.Fill(dataSet1, "Cities")

conn.Close()

Dim CityCol As New DataGridViewComboBoxColumn

With CityCol

.HeaderText = "city_name"

.DropDownWidth = 60

.Width = 90

.MaxDropDownItems = 5

.FlatStyle = FlatStyle.Flat

.DataSource = dataSet1

.ValueMember = "Cities"

.DisplayMember = .ValueMember

End With

DataGridView1.Columns.Add(CityCol)

End Sub

مع الاسف لا تعمل ,, ولا يظهر شئ

#7

إنه يعمل الان بعد اضافة التعديلات ,, ولكن هناك بطئ بعض الشئ عند الضغط عليه يحتاج لوقت لاخراج المدن ,, مع ان المفترض ان المدن جاهزه ومخزنه في الداتا ست.. ااذا كان هناك اي تعديل مقترح لتسريع العمليه ارجو اعطائي اياه , لانه منا لغريب جداً ان يكون بطئ وانا اصلا لم ادخل الا ثلاث مدن ..

الكود

Private Sub GatePass_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim dataSet1 As New DataSet

Dim sqlSTR As String = "SELECT * FROM CITIES"

conn.Open()

Dim dataAdapter1 As New SqlDataAdapter(sqlSTR, conn)

dataAdapter1.Fill(dataSet1, "Cities")

conn.Close()

Dim CityCol As New DataGridViewComboBoxColumn

With CityCol

.HeaderText = "Cities"

.DropDownWidth = 60

.Width = 90

.MaxDropDownItems = 5

.FlatStyle = FlatStyle.Flat

.DataSource = dataSet1.Tables(0)

.ValueMember = "City_id"

.DisplayMember = "City_name"

End With

DataGridView1.Columns.Add(CityCol)

End Sub

#8

نسيت اشكركم اخواني ,, شكرا شكرا شكرا الله يزيدكم علم ,,

عندي سؤال ,, المسأله بدأت تصعب شويه :) ,, الان انا قدرت اطلع المدن ,, ابي اتعامل مع القيم ,, يعني ,, ابغى اضيف واحد ثاني يكون جنبه برضه يختار مدينه من جدول المدن ,, بعدين ابغا اسوي فنكشن تفحص المدينه الاولى والثانيه وتعطي المسافه بينهم ,, المشكله هنا مشكلتين ,,

المشكلة الاولى كيف انقل القيمه من القريد فيو الى متغير ,,زي مثلا مانسوي في التسكت بوكس ,,TextBox1.Text ابغى اسوي نفس الحركه واخذ القيمه للعمود الاول والتاني وارسلهم للفنكشن ..

المشكلة الثانيه ,, ابغى اضيف عمود ثالث يتم تسجيل عليه المسافة من قبل النفكشن ,, المشكلة هنا كيف اضيف العمود الثالث اولاً ,, ثانياً ابغى بمجرد مايتم تحديد المدينتين ترسل المدينتين للفنكشن كيف يتم ذلك ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

بانتظار ردودكم :)

#9

سيكون من السهل على الجميع المساعدة و إبداء الإقتراحات لو أرفقت مثالك لأن قاعدة البيانات لديك جاهزة

و دمتم

اللهم اغفر لي و لوالدي و للمؤمنين يوم يقوم الحساب

لا إله إلا الله عدد ما كان و عدد ما يكون و عدد الحركات و السكون

#10

أخي الكريم ,,

أشكرك ولكن الجزئية من البرنامج صعبة الفهم ويطول شرحها كما ان قاعده البيانات معقده قليلاً, أريد شيئين فقط :

1- اتعامل مع القيمه التي تكون مخزنه داخل الداتا قريد فيو كومبو .

2- اريد ان يقوم النظام بمجرد ان تدخل قيمه بالداتا قريد فيو كومبو رقم 2 يقوم باستدعاء فنكشن.

كيف اقوم بهذا؟

#11

للرفع

#12

أخي الحبيب عليك بالحدث CellEndEdit فهو يحدث عندانتهاء الاختيار ويوجد به الخصائص colindex وrowindex

يمكنك التحكم بها لاختبار القيم

أنا الرجل الضرب الذي تعرفونه***خشاش كرأس الحية المتوقد

لوكنت وغلاً في الرجال لضرني**** حسن جرائتي ومقتدي

منتديات طريق الهداية

#13

أخي الكريم , كيف أضيف هذا الحدث حيث اني بحثت عنه ولم اجده ارجو التشرح بالتفصيل , اذا كانت اضافته عن طريق الكود ارجو كتابته , فقد انزلت الكود في رد سابق

#14

أخي الحبيب تجد هذ الحدث او مشابه له في قائمة احداث الاداة datagridview

أنا الرجل الضرب الذي تعرفونه***خشاش كرأس الحية المتوقد

لوكنت وغلاً في الرجال لضرني**** حسن جرائتي ومقتدي

منتديات طريق الهداية

هذا الموضوع مغلق.

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

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

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

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

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