Отмена записей, измененных с использованием gridview, если пользователь нажимает кнопку Отмена - PullRequest
2 голосов
/ 06 апреля 2011

У меня есть страница модификации пользователя, которая отображает список отчетов, к которым у пользователя есть доступ с использованием объекта GridView.

Что я хочу сделать, это если кто-то внесет кучу изменений встраницы пользователей, но затем нажимает кнопку отмены, все внесенные изменения будут отменены.Моя главная проблема здесь - это GridView, в котором есть кнопки добавления / удаления / изменения, связанные с отдельной таблицей.

Так что, если я открою свою страницу, добавлю новый отчет в сетку, а затем нажму «Отмена», я не хочу, чтобы этот отчет был сохранен в моей учетной записи. Аналогично, если я удалю запись, изатем нажмите «Отмена», запись не удаляется.

Каков наилучший способ сделать это?

Ответы [ 2 ]

0 голосов
/ 06 апреля 2011

Вам нужно сохранить это значение в datatable и поместить его в переменную Session и привязать ваше представление сетки к вашему дататайту, который находится в сеансе. Поэтому, как только вы закончите с изменениями и захотите отправить изменения в БД, вам нужно play with Datatable Row State, из которого вы сможете найти, какая строка добавлена, а какая удалена или изменена.

Взгляните на эту статью, чтобы понять состояние Datatable Row system.data.datarow.rowstate

0 голосов
/ 06 апреля 2011

В этом случае вы не должны связывать GridView с реальным источником данных (Entity Framework).Если вы это сделаете, изменения будут записаны в базу данных, и вам будет очень трудно откатить их.GridView должен работать с временными данными, хранящимися, например, в сеансе, и только после фиксации изменений (кнопка «Сохранить» на странице) данные будут записаны в базу данных EF.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...