Как обрабатывать события обновления на ASP.NET GridView? - PullRequest
0 голосов
/ 26 апреля 2010

Здравствуйте,

Это может звучать глупо, но мне нужно выяснить, как обрабатывать событие обновления из GridView.

Прежде всего, у меня есть DataSet, где есть типизированный DataTable с типизированным TableAdapter, основанный на «выбрать все запросы», с автоматически сгенерированными методами вставки, обновления и удаления. Затем на моей странице aspx у меня есть ObjectDataSource, связанный с моим типизированным TableAdapter на Select, Вставить, обновить и удалить методы. В конце концов, у меня есть GridView, связанный с этим ObjectDataSource, со стандартными ссылками Редактировать, Обновить и Отменить.

Как мне реализовать функцию редактирования? Должен ли я иметь что-то вроде этого?


protected void GridView_RowEditing(object sender, GridViewEditEventArgs e)
{
    using(MyTableAdapter ta = new MyTableAdapter())
    {
        ta.Update(...);

        TypedDataTable dt = ta.GetRecords();

        this.GridView.DataSource = dt;
        this.GridView.DataBind();
    }
}

В этом сценарии у меня возникает ощущение, что я обновляю некоторые изменения в БД, затем извлекаю и связываю все данные, и не только модифицированные детали. Есть ли способ обновить только DataSet, и это обновить его очередь DataBase и GridView? Я не хочу получать все данные после выполнения операций CRUD, я просто хочу получить сделанные изменения.

Спасибо.

PS: я использую .NET 3.5 и VS 2008 с пакетом обновления 1 (SP1).

1 Ответ

0 голосов
/ 27 апреля 2010

Это на самом деле невозможно при использовании объектов, которые у вас есть здесь. В частности, ObjectDataSource довольно ограничен в этом отношении. Конечно, это было бы возможно при использовании DataSet, но тогда вы должны выполнить большую часть тяжелой работы.

Я предлагаю вам погрузиться в более надежную систему ORM.

...