تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كيفية عمل تراجع عن اخر عملية ادخال بيانات داخل الداتاجريد
#1
السادة الافاضل

عند الكتابة في الجريد

كيف اعمل تراجع عن اخر عملية ادخال بيانات داخل الداتاجريد

شكرا
الرد }}}}
تم الشكر بواسطة:
#2
-
منقول

طريقة عمل تراجع عن التعديلات التي تمت في خلايا DataGridView باستخدام المكدس Stack (ويمكن تعديلها ليتم تطبيقها على الأدوات الأخرى)
يحتوي المثال عل رز Button2 وفيه مجرد عرض محتوى المكدس الخاص بالتعديلات التي تمت (قد يفيد)
كود :
Public Class Form1

#Region " DataGridViewUndoStack "
    Dim DataGridViewUndoStack As New Stack(Of undo)
    Structure undo
        Dim rows As Integer ' عدد الأسطر
        Dim row As Integer  ' رقم السطر
        Dim col As Integer  ' رقم العمود
        Dim val As Object   ' قيمة الخلية
    End Structure
    Private Sub DataGridView1_CellBeginEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellCancelEventArgs) Handles DataGridView1.CellBeginEdit
        Dim o As New undo
        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 o As New undo
            o = DataGridViewUndoStack.Pop
            Me.DataGridView1.Rows(o.row).Cells(o.col).Value = o.val
            Me.DataGridView1.CurrentCell = DataGridView1.Rows(o.row).Cells(o.col)
            Do While DataGridView1.Rows.Count > o.rows
                DataGridView1.Rows.RemoveAt(If(DataGridView1.AllowUserToAddRows, DataGridView1.Rows.Count - 2, DataGridView1.Rows.Count - 1))
            Loop
        End If
    End Sub
#End Region

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        DataGridViewDoUndo()
    End Sub

    ' مجرد إضافة لعرض محتوى المكدس الخاص بالتعديلات التي تمت، قد يفيد
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim undoStacks As String = ""
        For i = 0 To DataGridViewUndoStack.Count - 1
            Dim o As New undo
            o = DataGridViewUndoStack.ElementAt(i)
            undoStacks &= i.ToString("000") & ": {" & o.row & ", " & o.col & "} " & o.val.ToString & vbNewLine
            If i = 10 Then
                undoStacks &= "يوجد أكثر" & vbNewLine & DataGridViewUndoStack.Count.ToString("000")
                Exit For
            End If
        Next
        MessageBox.Show(If(undoStacks = "", "لا توجد تعديلات", undoStacks), "UndoStack")
    End Sub

End Class
الرد }}}}
تم الشكر بواسطة: سعود , king2512010
#3
الاخ الكريم vbnet
انت مرجع كبير وموسوعة ضخمة.
أستودعكم الله الذي لا تضيع ودائعه أرجو ان تجدوا بمشاركاتي ما يجعلكم تدعون لي بخير ان تحتم غيابي.
الرد }}}}
تم الشكر بواسطة:
#4
صراحة خبرة وعلم غير عاديين شكرا

فكرت كثيرا هل ممكن عمل redo
ما تم عمله خو undo فهل من redo
الرد }}}}
تم الشكر بواسطة:
#5
اخي الكريم atefkhalf2004
قبل اي اجراء الا تحب اخذ نسخة من الجدول لجدول اخر؟
اظن هذا الذي تريده.
أستودعكم الله الذي لا تضيع ودائعه أرجو ان تجدوا بمشاركاتي ما يجعلكم تدعون لي بخير ان تحتم غيابي.
الرد }}}}
تم الشكر بواسطة:
#6
لا لا اقصد ذلك
ما اقصده هو
انااكتب داخل الجريد

عملت تراجع لاربعة عمليات

واريد ان ارجع الي ما فعلته مرة اخري

اي تراجع ثم اعادة
الرد }}}}
تم الشكر بواسطة:
#7
السلام عليكم ورحمة الله وبركاته

مرفق صورة مشروع بالفيجوال بيزك 6

المشروع عبارة عن بحث عن التاريخ قبل وبعد 15 يوم

المطلوب بعد البحث كود يظهر كافة المدخلات تانى فى الشبكة

وشكرا


الملفات المرفقة صورة/صور
   
الرد }}}}
تم الشكر بواسطة:
#8
(17-05-14, 05:29 PM)atefkhalf2004 كتب : لا لا اقصد ذلك
ما اقصده هو
انااكتب داخل الجريد

عملت تراجع لاربعة عمليات

واريد ان ارجع الي ما فعلته مرة اخري

اي تراجع ثم اعادة

استخدم لك حيلة واذا اعجبتك طبقها.
أستودعكم الله الذي لا تضيع ودائعه أرجو ان تجدوا بمشاركاتي ما يجعلكم تدعون لي بخير ان تحتم غيابي.
الرد }}}}
تم الشكر بواسطة:
#9
اين الحيلة
ا سعود
الرد }}}}
تم الشكر بواسطة:
#10
اخي الكريم
حسب مارايت من المشاركات توفر لديك (لنقول) الحد الادنى من المطلوب بقي ان تستخدم الحيلة يعني لديك المصفوفات والكائنات استخدمها مثلا تسمي متغير بمعنى بعد الحذف الاول ثم متغير اخر بمعنى ارجاع ماتم حذفه ...وهكذا.
أستودعكم الله الذي لا تضيع ودائعه أرجو ان تجدوا بمشاركاتي ما يجعلكم تدعون لي بخير ان تحتم غيابي.
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Bug [Acces2010] طريقة استدعاء بيانات النزيل القديم برقم الهوية يسرى7 5 87 أمس, 04:53 AM
آخر رد: يسرى7
  جلب البيانات من قاعدة بيانات XML djelloul 0 61 13-12-16, 07:45 PM
آخر رد: djelloul
  ابي اربط برنامجي بسيرفر او قاعده بيانات مبارك 3 247 22-11-16, 02:57 PM
آخر رد: مبارك
  [سؤال] كيفية اضافة عناصر عمود فى جدول من قاعدة بيانات فى جدول اخر hidn 1 262 04-11-16, 09:25 AM
آخر رد: thevirus
  [سؤال] قراءة رابط من قاعدة بيانات في ادة التصفح شمس الدين 03 2 144 27-10-16, 10:43 PM
آخر رد: شمس الدين 03
  كيفية الاتصال بقاعدة بيانات Access على الشبكة المحلية warda saeed 7 7,620 27-10-16, 09:53 PM
آخر رد: thevirus
  [سؤال] شباب كيفية انقاص او طرح الكمية الموضوعة فى الداتا جريد من الجدول احمد عبد الحكيم 2 379 04-10-16, 11:37 PM
آخر رد: benomar
  ربط قاعدة بيانات اكسس بفجوال دوت نت 2015 كنونو 0 185 26-09-16, 01:35 PM
آخر رد: كنونو
Lightbulb [سؤال] كيف يتم رفع قاعدة بيانات mysql بطريقة برمجية sanosi 0 173 26-08-16, 05:00 PM
آخر رد: sanosi
  [سؤال] مساعدة في حفظ بيانات من جدولين mosasaad 5 359 22-08-16, 10:25 AM
آخر رد: سعود

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم