Редактирование GridView не работает после фильтра - PullRequest
1 голос
/ 16 декабря 2011

У меня динамически настраиваемое представление сетки.

Это позволяет редактировать, удалять и вставлять новые данные в таблицу.

Я также реализую другую функцию, которая позволяет фильтровать представление сетки.

В настоящее время я могу очень хорошо выполнять фильтрацию.Однако при входе в режим редактирования вид сетки каким-то образом сбрасывается до «состояние перед фильтрацией».

Пример: Gridview изначально имеет 100 строк.После отфильтрованы только 10 строк.Войдите в режим редактирования, после чего он снова отобразит 100 строк.

Вот фрагмент кода, в то время как мой просмотр сетки входит в режим редактирования.

 public void GridView_RowEditing(object sender, GridViewEditEventArgs e)
    {
        GridView.EditIndex = e.NewEditIndex;
        ((TemplateField)GridView.Columns[1]).EditItemTemplate = null;
        GridView.DataBind();
        Session["SelecetedRowIndex"] = e.NewEditIndex;
    }

Любая помощь приветствуется ...

1 Ответ

1 голос
/ 16 декабря 2011

Удалить вызов DataBind() в вашем методе RowEditing.

public void GridView_RowEditing(object sender, GridViewEditEventArgs e)
{
    GridView.EditIndex = e.NewEditIndex;
    ((TemplateField)GridView.Columns[1]).EditItemTemplate = null;
    Session["SelecetedRowIndex"] = e.NewEditIndex;
}

Вызывая DataBind(), вы возвращаете сетку к ее исходному источнику данных, тем самым теряя ранее примененную фильтрацию.

EDIT

Вы пытались повторно применить свой фильтр до завершения метода RowEditing?

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