تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كيفية عمل تراجع عن اخر عملية ادخال بيانات داخل الداتاجريد
#11
يا باشا
عندما اضع سؤال اذن لا اعرف الاجابة
برجاء الاجابة
الرد }}}
تم الشكر بواسطة:
#12
(22-05-14, 05:10 PM)atefkhalf2004 كتب : يا باشا
عندما اضع سؤال اذن لا اعرف الاجابة
برجاء الاجابة

طيب اسف على الازعاج ....Huh
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة:
#13
^هههههههه

لكن ماالمطلوب الان ؟؟
الرد }}}
تم الشكر بواسطة:
#14
كيف عمل زر redo
الرد }}}
تم الشكر بواسطة:
#15
كملت على مثال الاخ 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 
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: