Интересно, кто-нибудь может мне помочь с этим.Проект, над которым я работаю, имеет сетку данных и функцию отмены.В настоящее время мой код отмены работает со всеми остальными функциональными возможностями, кроме этого сценария.Когда я нахожусь в последней строке таблицы данных и редактирую первую ячейку (индекс 0), это делает копию данных корректной.То же самое, когда я редактирую следующую ячейку (индекс 1).Но по какой-то причине изменение не происходит, когда таблица данных копируется в стек, пока строка не будет полностью зафиксирована и не будет добавлена новая строка., Даже если отдельные ячейки зафиксированы.Я проверил с IsCurrentCellDirty, и он оказался ложным.Когда уже исправленная строка имеет отредактированную ячейку, она делает копию, как задумано.Это из-за самого элемента управления, или есть ли способ сделать изменения в представлении сетки данных в таблице данных, с которой он связан после редактирования каждой ячейки?Спасибо за любую помощь.
DataTable datatable = new DataTable();
Stack<DataTable> datatableStack = new Stack<DataTable>();
private void dataGridView_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
datatableStack.Push(datatable.Copy());
}
public void Undo()
{
if (datatableStack.Count != 0)
{
datatable= datatableStack.Peek();
dataGridView.DataSource = datatable;
datatableStack.Pop();
}