Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > datagridview номера отредактированных строк


Автор: bosscs 16.6.2013, 15:54
В datagridview можно редактировать строки. Я хочу сделать 2 кнопки(Сохранить, Отмена).
При нажатии на кнопку сохранить, мне нужно получить номера строк, в которых было сделано хоть 1 изменение в любой из ячеек.
При нажатии на кнопку отмена - вернуть все в первоначальное состояние.
Как это сделать?

Автор: jonie 19.6.2013, 23:11
1) отделите мух от котлет: датагрид это лишь отображение, сами данные лежат в чем-то что привязано к гриду.
2) исходя из п1 получается что надо мутить что-то с источником данных.

Простой вариант: даёте датагриду копию данных, по Save делаете merge копии в основное "хранилище", по отмене просто выбрасываете копию.
Сложный - это намутить сложный источник данных, который будет обладать элементами транзакционного характера (что, впринципе не так и сложно. если подумать)... Соотвественно по сохранить делает коммит транзакции, по отмене откат.

к слову: первый вариант зачастую используется при работе с базами данных (не в вирт режиме) - ведь  там то что видит грид всего лишь копия того что есть в базе, соотвественно по отмене можно просто перечитать данные из базы, не сохраняя изменения.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)