![]() |
|
موقع المؤشر بعد الحذف - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : موقع المؤشر بعد الحذف (/showthread.php?tid=19500) |
موقع المؤشر بعد الحذف - abdulla2 - 03-03-17 ايها الأحبة الكرام هذا الكود يقوم بعملية الحذف بصورة جيدة وليس هناك اي مشكلة ولكن بعد الحذف يذهب المؤشر إلى أعلى ..!!! فكيف اجعل المؤشر ينتقل الى السجل الذي يليه اي بقى مكانه مع التنبيه جربت المشاركات بخصوص الموضوع لم تضبط معاي هذا هو الكود .. 'Try ' 'لتأكيد عملية الحذف ' If MsgBox("هل تريد تأكيد عملية الحذف", MsgBoxStyle.YesNo, "تأكيد الحذف") = DialogResult.Yes Then ' sqlstr = "Delete From TB_Notices Where ID_Format = @ID_Format" ' cmd = New OleDbCommand(sqlstr, conn) ' cmd.Parameters.Add("@ID_Format", OleDbType.VarChar).Value = DGVAlert.CurrentRow.Cells(1).Value ' conn.Open() ' cmd.ExecuteNonQuery() ' MsgBox("تمت عملية الحذف بنجاح", MsgBoxStyle.Information, "الحذف") ' 'سب تحميل البيانات ' FillDGVAlert() ' End If 'Catch ex As Exception ' MsgBox("لا توجد تنبيهات معلقة", MsgBoxStyle.Information, "حذف تنبيه") 'Finally ' conn.Close() 'End Try RE: موقع المؤشر بعد الحذف - مساعدة - 03-03-17 السلام عليكم قم بالاحتفاظ برقم المؤشر قبل ايتمام العملية كالكود التالي كود : Dim CurrentRowIndex As Integer = DataGridView1.CurrentRow.Indexوبعد اتمام العملية وتعبئة الجدول بالبيانات قم بتحريك المؤشر الى الرقم المحتفظ به سابقا كالكود التالي كود : DataGridView1.Rows(CurrentRowIndex).Selected = TrueRE: موقع المؤشر بعد الحذف - abdulla2 - 04-03-17 جربت كما تفضلت لكن لازال المؤشر يذهب لأعلى .. وهذا الكود بعد التعديل ... Try Dim CurrentRowIndex As Integer = DGV_Users.CurrentRow.Index ' 'لتأكيد عملية الحذف ' If MsgBox("هل تريد تأكيد عملية الحذف", MsgBoxStyle.YesNo, "تأكيد الحذف") = DialogResult.Yes Then ' sqlstr = "Delete From TB_Notices Where ID_Format = @ID_Format" ' cmd = New OleDbCommand(sqlstr, conn) ' cmd.Parameters.Add("@ID_Format", OleDbType.VarChar).Value = DGVAlert.CurrentRow.Cells(1).Value ' conn.Open() ' cmd.ExecuteNonQuery() ' MsgBox("تمت عملية الحذف بنجاح", MsgBoxStyle.Information, "الحذف") ' 'سب تحميل البيانات ' FillDGVAlert() DGV_Users.Rows(CurrentRowIndex).Selected = True DGV_Users.FirstDisplayedScrollingRowIndex = CurrentRowIndex ' End If 'Catch ex As Exception ' MsgBox("لا توجد تنبيهات معلقة", MsgBoxStyle.Information, "حذف تنبيه") 'Finally ' conn.Close() 'End Try RE: موقع المؤشر بعد الحذف - مساعدة - 08-03-17 اتضح أنك تستخدم جدولين DGVAlert وDGV_Users وأنت احتفظت برقم المؤشر الخاص ب DGV_Users ولكنك في السطر DGVAlert.CurrentRow.Cells(1).Value أنت تعاملت بالحذف مع DGVAlert وليس DGV_Users ارجو أن يكون الخطأ اتضح لك تفضل التعديل كود : TryRE: موقع المؤشر بعد الحذف - abdulla2 - 08-03-17 اخي مساعدة شكرا لتجاوبك ولكن لا زال المؤشر يذهب للاعلى لهذا عملت مشروع صغير لتنظر فيه وشكرا لك .. RE: موقع المؤشر بعد الحذف - abdulla2 - 08-03-17 بعد تعبيئة قاعدة البيانات بأسماء .. وأعدت التجربة عمل الكود بأحسم مايرام .. شكرا لك أخي مساعدة الذي لا تتردد بأي مساعدة .. شكرا لك كثيرا .. |