السلام عليكم
اخواني اريد مثال على اختيار عدة سجلات من الداتا قريد فيو عن طريق تشك بوكس
لحذفها من قاعدة البيانات
ياليت اللي عنده حل لايبخل علينا
او مثال
السلام عليكم
اخواني اريد مثال على اختيار عدة سجلات من الداتا قريد فيو عن طريق تشك بوكس
لحذفها من قاعدة البيانات
ياليت اللي عنده حل لايبخل علينا
او مثال
و عليكم السلام و رحمة الله تعالى و بركاته...
بعد تحميل البيانات على الداتا جريد فيو, قم بزيادة عمود 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
تحياتي...
جزاك الله خير على الرد
بس اخوي اتا ابيه يحذف السجل كامل من قاعدة البيانات
يعني افترض اني عنيد جدول staff
فيه em_id
وem_name
ابي احذف الموظفين المختارين عن طريق التشك بوكس
إن لم أكن مخطئ, فحذف سطر من داتاجريدفيو مرتبطة بجدول بقاعدة بيانات يحذف السطر و التسجيل المرتبط بالسطر على الجدول. جرب و رد علي.
تحياتي...
بارك الله فيك اخي محمد
اخي الداتا قريد عندي unbound
وعرض البيانات فيها يتم عن طريق اختيار من كومبوبوكس
عموما سأجرب
واخبرك لاحقا
وشكرا على رحابة صدرك اخي الكريم
جربت ولم اتوصل لطريقه لحذف السجلات المختاره
الكود الذي وضعته يحذف من الداتا قريد فقط
علما اني اضف جمله sql للحذف ولكن لاتقوم بالحذف ولا تعطي خطأ
الداتا قريد غير مرتبطه ويتم عرض البيانات فيها في runtime
واشكرك مجددا
إذن عليك بتنفيذ جملة DELETE على التسجيل المختار حذفه. استخدم معرف التسجيل الذي تأخده من السطر في الشرط WHERE
تحياتي...
حاولت وماقدرت اخي
وضعت جملة sql مع شرط ان تكون emp_id خلية في الداتا قريد تعرض ارقام الموظفين
فكانت الجمله تحذف اخر سجل فقط
واذا قلت السجلات عن 3 يعطيني خطا
تم تعديل هذه المشاركة بواسطة serious في 5 نوفمبر 2009 في 20:29
ممكن ترفق المشروع لتصحيحه؟
تحياتي...
ان شاء الله
هذا الملف اخي
هذا كود زر الحذف بعد التصحيح :
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
مجرد تعقيب على الكود. عمود التشيك بوكس يفضل زيادته مباشرة بعد تحميل البيانات. بعد تحرير الكود ستحتاج إلى إعادة تحديد رقم عمود التشيك بوكس و رقم عمود مرجع التسجيل المرتبط بالسطر.
تلميحة : يفضل التأكد من أن خلية تحتوي على قيمة و ليست Nothing قبل مقارنة محتواها بقيمة أخرى تفاديا لرفع استثناء. مثال :
If DataGridView1.Rows(0).Cells(0).Value <> Nothing Then If DataGridView1.Rows(0).Cells(0).Value = OtherValue Then ...
تحياتي...
بارك الله فيك ياخ محمد
نجحت العمليه
ومن عنده استفسار من الاخوان عن نفس العمليه
يطلب وارفق له المثال كامل
ارفقه يا اخى من فضلك
اقتباسبس اللينك المرسل هو لحذف سطر واحد وشغال كويس انا عايزاه احذف اكثر من سطر
الكود يعمل جيدا لحذف سطر حتى جميع أسطر الداتاجريدفيو حسب اختيار المستخدم.
كيف يمكن عمل نفس هذا الموضوع مع asp.net هل يوجد تغيير فى الكود وما هو