منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] undo/redo button - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [سؤال] undo/redo button (/showthread.php?tid=47795)



undo/redo button - mohamed sabry - 12-01-24

بعد اذن الاخوة الافاضل كنت محتاج كود برمجة ال undo/redo فى حالة تم حذف صف من الداتا جريد فيو واريد استعادته مرة اخرى


RE: undo/redo button - تركي الحلواني - 15-01-24

(12-01-24, 10:19 AM)mohamed sabry كتب : بعد اذن الاخوة الافاضل كنت محتاج كود برمجة ال undo/redo فى حالة تم حذف صف من الداتا جريد فيو واريد استعادته مرة اخرى

اضف المتغير 

كود :
Private undoStack As New Stack(Of List(Of DataGridViewRow))

في حدث الداتا جريد للحذف 

PHP كود :
Private Sub DataGridView1_UserDeletingRow(sender As ObjectAs DataGridViewRowCancelEventArgsHandles DataGridView1.UserDeletingRow
     Dim deletedRows 
As New List(Of DataGridViewRow)
 
    deletedRows.Add(e.Row)
 
    undoStack.Push(deletedRows)
 
End Sub 

وفي زر التراجع

PHP كود :
Private Sub UndoButton_Click(sender As ObjectAs EventArgsHandles UndoButton.Click
    If undoStack
.Count 0 Then
     
        Dim rowsToRestore 
As List(Of DataGridViewRow) = undoStack.Pop()
 
       For Each row As DataGridViewRow In rowsToRestore
            Dim lastRowIndex 
As Integer DataGridView1.Rows.Count 1
            DataGridView1
.Rows.Add()
 
           For Each cell As DataGridViewCell In row.Cells
                DataGridView1
.Rows(lastRowIndex).Cells(cell.ColumnIndex).Value cell.Value
            Next
        Next
    End 
If
End Sub