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

سؤال في الداتا قريد تشك بوكس

بدأه serious في 4 نوفمبر 2009 · 17 رد · 2,603 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اخواني اريد مثال على اختيار عدة سجلات من الداتا قريد فيو عن طريق تشك بوكس

لحذفها من قاعدة البيانات

ياليت اللي عنده حل لايبخل علينا

او مثال

#2

و عليكم السلام و رحمة الله تعالى و بركاته...

بعد تحميل البيانات على الداتا جريد فيو, قم بزيادة عمود DataGridViewCheckBoxColumn :

		' زيادة عمود لاختيار الأسطر المراد حذفها
		DataGridView1.Columns.Add(New DataGridViewCheckBoxColumn())
		DataGridView1.Columns(1).HeaderText = "Check 2 Del"

بعد اختيار المستخدم للأسطر التي يريد أن يحذف. زد اشتراك في الحدث Click للزر المكلف بحذف البيانات و زد فيه الكود التالي :

		' البدء من السطر الأخير رجوعا نحو الأول
		For i As Integer = DataGridView1.Rows.Count - 1 To 0 Step -1
			' الوصول إلى كائن السطر
			Dim row As DataGridViewRow = DataGridView1.Rows(i)
			' لا يمكن حذف السطر الأخير المعد لزيادة سطر جديد
			If Not row.IsNewRow Then
				' التحقق من قيمة الخلية تشيك بوكس
				If row.Cells(1).Value = True Then
					' حذف السطر
					DataGridView1.Rows.Remove(row)
				End If
			End If
		Next

تحياتي...

#3

جزاك الله خير على الرد

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

يعني افترض اني عنيد جدول staff

فيه em_id

وem_name

ابي احذف الموظفين المختارين عن طريق التشك بوكس

#4

إن لم أكن مخطئ, فحذف سطر من داتاجريدفيو مرتبطة بجدول بقاعدة بيانات يحذف السطر و التسجيل المرتبط بالسطر على الجدول. جرب و رد علي.

تحياتي...

#5

بارك الله فيك اخي محمد

اخي الداتا قريد عندي unbound

وعرض البيانات فيها يتم عن طريق اختيار من كومبوبوكس

عموما سأجرب

واخبرك لاحقا

وشكرا على رحابة صدرك اخي الكريم

#6

جربت ولم اتوصل لطريقه لحذف السجلات المختاره

الكود الذي وضعته يحذف من الداتا قريد فقط

علما اني اضف جمله sql للحذف ولكن لاتقوم بالحذف ولا تعطي خطأ

الداتا قريد غير مرتبطه ويتم عرض البيانات فيها في runtime

واشكرك مجددا

#7

إذن عليك بتنفيذ جملة DELETE على التسجيل المختار حذفه. استخدم معرف التسجيل الذي تأخده من السطر في الشرط WHERE

تحياتي...

#8

حاولت وماقدرت اخي

وضعت جملة sql مع شرط ان تكون emp_id خلية في الداتا قريد تعرض ارقام الموظفين

فكانت الجمله تحذف اخر سجل فقط

واذا قلت السجلات عن 3 يعطيني خطا

تم تعديل هذه المشاركة بواسطة serious في 5 نوفمبر 2009 في 20:29

#9

ممكن ترفق المشروع لتصحيحه؟

تحياتي...

#10

ان شاء الله

#11

هذا الملف اخي

WindowsApplication1.rar

#12

هذا كود زر الحذف بعد التصحيح :

	Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
		On Error Resume Next
		For i As Integer = g.Rows.Count - 1 To 0 Step -1
			' الوصول إلى كائن السطر
			Dim row As DataGridViewRow = g.Rows(i)
			' لا يمكن حذف السطر الأخير المعد لزيادة سطر جديد
			If Not row.IsNewRow Then
				' التحقق من قيمة الخلية تشيك بوكس
				If row.Cells(1).Value = True Then
					' حذف التسجيل من قاعدة البيانات أولا
					sql = "delete * from t where h=" & row.Cells(3).Value
					Dim cmd As New OleDbCommand(sql, Cnn)
					Cnn.Open()
					cmd.ExecuteNonQuery()
					Cnn.Close()
					' حذف السطر من الداتاجريد فيو أخيرا
					g.Rows.Remove(row)
				End If
			End If
		Next
	End Sub

كنت تقوم بحذف السطر من الداتاجريدفيو قبل قراءة مرجع التسجيل المراد حذفه منه.

تحياتي...

تم تعديل هذه المشاركة بواسطة محمد رضى في 5 نوفمبر 2009 في 23:02

#13

مجرد تعقيب على الكود. عمود التشيك بوكس يفضل زيادته مباشرة بعد تحميل البيانات. بعد تحرير الكود ستحتاج إلى إعادة تحديد رقم عمود التشيك بوكس و رقم عمود مرجع التسجيل المرتبط بالسطر.

تلميحة : يفضل التأكد من أن خلية تحتوي على قيمة و ليست Nothing قبل مقارنة محتواها بقيمة أخرى تفاديا لرفع استثناء. مثال :

If DataGridView1.Rows(0).Cells(0).Value <> Nothing Then
	If DataGridView1.Rows(0).Cells(0).Value = OtherValue Then
...

تحياتي...

#14

بارك الله فيك ياخ محمد

نجحت العمليه

ومن عنده استفسار من الاخوان عن نفس العمليه

يطلب وارفق له المثال كامل

#15

ارفقه يا اخى من فضلك

#16

هو دا الscipt بتاع الdatabase

انا عملته فى ملف notepad لانه صعب شوية انى ارفعه

فا كتبت كل الاكواد الخاصه بالشاشه واى ملاحظه انا تحت امرك

بس اللينك المرسل هو لحذف سطر واحد وشغال كويس انا عايزاه احذف اكثر من سطر

الملف فى المرفقات

وشكرا

1.txt

#17
اقتباس
بس اللينك المرسل هو لحذف سطر واحد وشغال كويس انا عايزاه احذف اكثر من سطر

الكود يعمل جيدا لحذف سطر حتى جميع أسطر الداتاجريدفيو حسب اختيار المستخدم.

#18

كيف يمكن عمل نفس هذا الموضوع مع asp.net هل يوجد تغيير فى الكود وما هو

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