Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
1 / 1 / 0
Регистрация: 30.12.2015
Сообщений: 21
1

Отмена действия в DataGridview

28.03.2016, 12:51. Показов 1503. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. У меня есть вопрос. Кто-то может помочь?

Как можно сделать так, чтобы при записи в datagridview какой-то информации была возможность возвращения предыдущей записи? То есть, к примеру если в какое-то поле datagridview записали что-то и сохранили, как можно вернуть предыдущую запись, которая была до сохранения? Что-то вроде Word, Excel в которых есть функция Undo. Есть ли такая возможность в VB.NET?

Спасибо заранее!!!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.03.2016, 12:51
Ответы с готовыми решениями:

Отмена удаления строки DataGridView
Имеется DataGridView1 без привязок к базам данных. При выделении строки и нажатии клавиши Del -...

Отмена перехода на следующую строку при нажатии Enter в DataGridView
Здравствуйте! При нажатии Enter в DataGridView происходит переход на следующую строку. Подскажите,...

Отмена действия datagridview
Здравствуйте! Как в datagridview реализовать операции отменить (undo) и вернуть (redo) на 5 шагов?

DataGridView отмена действия, выполнить расчет, заполнить схему, новая запись
Здавствуйте, помогите доделать программу. Необходимо описать методы для кнопок "отмена действия",...

2
144 / 132 / 34
Регистрация: 28.02.2014
Сообщений: 159
29.03.2016, 11:12 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Можно сделать например так:
на форме - 1 TextBox, 2 кнопки, 1 datagridview (с колонками)

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Public Class Form1
    Public stac1 As Stack(Of String) = New Stack(Of String)
    Public stac2 As Stack(Of String) = New Stack(Of String)
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        If stac2.Count > 0 Then
            Dim str As String = stac2.Pop
            Dim dgg As DataGridView
            dgg = Me.Controls.Find(str.Split("^").First, True).FirstOrDefault
            Dim yy As IEnumerable(Of String) = str.Split("^").Skip(1).Take(2)
            Dim int1 As Integer = yy.FirstOrDefault
            Dim int2 As Integer = yy.LastOrDefault
            stac1.Push(dgg.Name & "^" & int1 & "^" & int2 & "^" & dgg.Item(int2, int1).Value)
            dgg.Item(int2, int1).Value = str.Split("^").Last
        End If
    End Sub
 
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        If stac1.Count > 0 Then
            Dim str As String = stac1.Pop
            Dim dgg As DataGridView
            dgg = Me.Controls.Find(str.Split("^").First, True).FirstOrDefault
            Dim yy As IEnumerable(Of String) = str.Split("^").Skip(1).Take(2)
            Dim int1 As Integer = yy.FirstOrDefault
            Dim int2 As Integer = yy.LastOrDefault
            stac2.Push(dgg.Name & "^" & int1 & "^" & int2 & "^" & dgg.Item(int2, int1).Value)
            dgg.Item(int2, int1).Value = str.Split("^").Last
        End If
    End Sub
 
    Private Sub DataGridViewX1_CellClic(sender As DataGridView, e As DataGridViewCellEventArgs) Handles DataGridView1.CellEndEdit
        ChVl1(sender.CurrentCell)
    End Sub
 
    Private Sub DataGridViewX1_CellClick(sender As DataGridView, e As DataGridViewCellCancelEventArgs) Handles DataGridView1.CellBeginEdit
        ChVl(sender.Item(e.ColumnIndex, e.RowIndex))
    End Sub
 
    Public Sub ChVl(str As DataGridViewCell)
        TextBox1.Text = str.Value
    End Sub
 
    Public Sub ChVl1(str As DataGridViewCell)
        str.Value = If(str.Value = vbNullString, "Пусто", If(TextBox1.Text = str.Value, TextBox1.Text, str.Value))
        If TextBox1.Text <> str.Value Then
            stac1.Push(str.DataGridView.Name & "^" & str.RowIndex & "^" & str.ColumnIndex & "^" & TextBox1.Text)
        End If
        TextBox1.Text = vbNullString
    End Sub
End Class
1
1 / 1 / 0
Регистрация: 30.12.2015
Сообщений: 21
29.03.2016, 15:49  [ТС] 3
Спасибо вам
0
29.03.2016, 15:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.03.2016, 15:49
Помогаю со студенческими работами здесь

отмена действия
У меня есть графический редактор на C#,кто подскажет как реализовать функцию undo(отмена...

отмена действия
подскажите как написать отмену действия при нажатии контрл зет

Как сделать кнопку отмена действия? (возврат к предыдущем состоянию?)
Помогите пожалуйста, необходимо сделать кнопку отмена (то есть возвращает текущее состояние в...

Отмена\возвращение последнего действия на холсте (Undo\Redo) InkCanvas
Доброго дня. Я создаю маркирующую программу по типу Epic Pen, взяв исходники здесь (эта...

Отмена удаления в dataGridView
Здравствуйте! Как вернуть строку в dataGridView после неудачного удаления строки из Базы данных. ...

Отмена выделения в datagridview
Доброго всем дня. Создаю свой контрол (наследую от datagridview). Установил datagridview, скрыл...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru