DataGridView позволяют подкачки страниц, почему он получает все данные? - PullRequest
0 голосов
/ 15 апреля 2011

Привет, у меня есть простой gridView с AllowPaging, установленным в true, я привязываю к нему данные следующим образом:

            RulesGridView.DataSource = GetData();
            RulesGridView.DataBind();

где

 public static IEnumerable GetData()
    {
        return from gc in context.Current.SampleTable
               where gc.SameField == sameValue
               select new
                          {
                              example = SampleData
                          };
    }

В sql SampleTable у меня 4000 строк, мой вопрос, почему gridView берет все данные из этой таблицы, а не только первую страницу gridview? я проверил с помощью sql profiler, и это действительно так, отображая только первую страницу в gridview и загружая все страницы gridview. Могу ли я изменить его так, чтобы он брал из sql только столько, сколько достаточно для отображения данных на первой странице DataGrid, а затем, если пользователь щелкнет по второй странице, gridview запросит другие данные?

Ответы [ 2 ]

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

Мне нравится это обсуждение http://www.west -wind.com / weblog / posts / 211.aspx ;это может дать вам дополнительное понимание или решить, что пришло время вырвать все волосы у Гейтса.

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

Потому что вы обязательный метод, который просто возвращает все записи.

Возможное решение: Вы должны изменить свой метод GetData, чтобы он принимал параметр, который помечает нумерацию страниц, и применяет его во внутреннем запросе.Затем при каждом событии "pageNext / Prev" вы просто изменяете этот параметр на новое значение.

Редактировать:

Пользовательский пейджинг Codeproject для gridView
Aspsnippets о разбиении на страницы

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