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

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم قواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=40)
+--- قسم : قسم أسئلة قواعد البيانات تحت بيئة الـ.NET (http://vb4arb.com/vb/forumdisplay.php?fid=41)
+--- الموضوع : كيفية عمل تراجع عن اخر عملية ادخال بيانات داخل الداتاجريد (/showthread.php?tid=2863)

الصفحات: 1 2


RE: كيفية عمل تراجع عن اخر عملية ادخال بيانات داخل الداتاجريد - atefkhalf2004 - 22-05-14

يا باشا
عندما اضع سؤال اذن لا اعرف الاجابة
برجاء الاجابة


RE: كيفية عمل تراجع عن اخر عملية ادخال بيانات داخل الداتاجريد - سعود - 22-05-14

(22-05-14, 05:10 PM)atefkhalf2004 كتب : يا باشا
عندما اضع سؤال اذن لا اعرف الاجابة
برجاء الاجابة

طيب اسف على الازعاج ....Huh


RE: كيفية عمل تراجع عن اخر عملية ادخال بيانات داخل الداتاجريد - الشاكي لله - 31-05-14

^هههههههه

لكن ماالمطلوب الان ؟؟


RE: كيفية عمل تراجع عن اخر عملية ادخال بيانات داخل الداتاجريد - atefkhalf2004 - 31-05-14

كيف عمل زر redo


RE: كيفية عمل تراجع عن اخر عملية ادخال بيانات داخل الداتاجريد - الشاكي لله - 03-06-14

كملت على مثال الاخ vb.net واضفت 2 من stack واحد لل undo والثاني redo:-

جرب الان وشوف :-

PHP كود :
#Region " DataGridViewStacks"
Private dataGridViewRedoStack As New Stack(Of Info)()
Private 
dataGridViewUndoStack As New Stack(Of Info)()
Public 
Structure Info
    
' عدد الأسطر
    Public rows As Integer
    ' 
رقم السطر
    
Public row As Integer
    
' رقم العمود
    Public col As Integer
    ' 
قيمة الخلية
    
Public val As Object
End Structure



Private Sub dataGridView1_CellBeginEdit(sender As ObjectAs DataGridViewCellCancelEventArgs
Handles dataGridView1.CellBeginEdit
    Dim o 
As New Info()
    
o.rows dataGridView1.Rows.Count
    o
.row dataGridView1.CurrentCell.RowIndex
    o
.col dataGridView1.CurrentCell.ColumnIndex
    o
.val dataGridView1.CurrentCell.Value
    dataGridViewUndoStack
.Push(o)
End Sub

Private Sub DataGridViewDoUndo()
    If 
dataGridViewUndoStack.Count 0 Then
        Dim newInfo 
As New Info()
        
newInfo.col dataGridViewUndoStack.First().col
        newInfo
.row dataGridViewUndoStack.First().row
        newInfo
.rows dataGridViewUndoStack.First().rows
        newInfo
.val dataGridView1.Rows(newInfo.row).Cells(newInfo.col).Value
        dataGridViewRedoStack
.Push(newInfo)

        
Dim o As New Info()
        
dataGridViewUndoStack.Pop()
        
Me.dataGridView1.Rows(o.row).Cells(o.col).Value o.val
        Me
.dataGridView1.CurrentCell dataGridView1.Rows(o.row).Cells(o.col)
        While 
dataGridView1.Rows.Count o.rows
            dataGridView1
.Rows.RemoveAt_
If(dataGridView1.AllowUserToAddRowsdataGridView1.Rows.Count 2dataGridView1.Rows.Count 1))
        
End While
    
End If
End Sub

Private Sub DataGridViewDoRedo()
    If 
dataGridViewRedoStack.Count 0 Then
        Dim newInfo 
As New Info()
        
newInfo.col dataGridViewRedoStack.First().col
        newInfo
.row dataGridViewRedoStack.First().row
        newInfo
.rows dataGridViewRedoStack.First().rows
        newInfo
.val ""
        
dataGridViewUndoStack.Push(newInfo)

        
Dim o As New Info()
        
dataGridViewRedoStack.Pop()

        While 
dataGridView1.Rows.Count o.rows
            dataGridView1
.NotifyCurrentCellDirty(True)
            
dataGridView1.Rows.Insert(dataGridView1.Rows.Count 11)
        
End While

        
Me.dataGridView1.Rows(o.row).Cells(o.col).Value o.val
        Me
.dataGridView1.CurrentCell dataGridView1.Rows(o.row).Cells(o.col)
    
End If
End Sub
#End Region

Private Sub button1_Click(sender As ObjectAs EventArgsHandles button1.Click
    DataGridViewDoUndo
()
End Sub

Private Sub button2_Click(sender As ObjectAs EventArgsHandles button2.Click
    DataGridViewDoRedo
()
End Sub