Редактирование сетки не работает после сортировки ASP.NET - PullRequest
2 голосов
/ 04 июня 2010

Я использую C #, ASP.NET

У меня есть Gridview, для которого я предоставил функции сортировки и редактирования. Я не могу выполнить редактирование, когда я выполняю сортировку. После сортировки редактирование устанавливается на какой-то другой ряд. Я думаю, что есть какая-то проблема с индексом, который он берет ..

Может ли кто-нибудь помочь мне, как это исправить ..

С уважением sbmarya

Ответы [ 2 ]

0 голосов
/ 13 сентября 2013

Я тоже столкнулся с этой проблемой. Вот как я это исправил. (В моем примере вид сетки отсортирован по столбцу с именем отправки).

а. Когда базовый dataTable таблицы grid будет создан и отсортирован, сохраните его в переменной сеанса. Хитрость заключается в том, что перед сохранением в переменную сеанса убедитесь, что вы сохранили отсортированное представление.

                        dt.DefaultView.Sort = "Submit Date" + " " + "DESC";
                        GridView1.DataSource = dt;
                        GridView1.DataBind();
                        Session["gridViewData"] = dt.DefaultView.ToTable(); //Only storing dt will not have the sorted table stored in session.

б. Затем выполните все операции редактирования / обновления, используя таблицу данных, сохраненную в сеансе на предыдущем шаге. Он всегда будет отображаться в правильно отсортированном порядке, и вы не увидите, как после обновления обновится индекс строки.

0 голосов
/ 23 июня 2010

Я думаю, что проблема в том, что для сортировки используется другой вызов / данные, чем для редактирования. Таким образом, в событии RowEditing я получаю индекс относительно порядка сортировки (ASC () или DESC ()). Но затем я связываюсь с использованием getUsers (), который возвращает данные в другом порядке.

Что я сделал, так это то, что я сохранил какой-то флаг (Value) во ViewState, чтобы указать, в каком порядке сортировки я нахожусь, и использовал его при привязке в событии Editing, чтобы я мог вызвать правильный метод для вернуть тот же источник данных.

С уважением, sbmarya

...