GridView подкачки в C # - PullRequest
       38

GridView подкачки в C #

1 голос
/ 23 сентября 2010

Я использую событие PageIndexChanging для обработки подкачки GridView в C #. Но не знаю, как можно использовать PageSize / PageNumber / PageCount там. Другими словами, мой код вынужден всегда возвращать все данные. Обратите внимание на следующий код:

protected void grdList_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
        grdList.PageIndex = e.NewPageIndex;
        grdList.DataSource = MyGetData();
        grdList.DataBind();
}

Теперь, как я могу использовать настоящий пейджинг в этом коде?

Обратите внимание, что MyGetData имеет перегрузку, которая тоже получает PageIndex и PageSize.

UPDATE

Я установил PageSize и включил AllowPaging тоже. Я знаю, если я использую декларативное связывание данных, я должен предоставить GridView подсчет всех данных. Вопрос в том, как можно использовать count в этом методе.

ОБНОВЛЕНИЕ 2 Кажется, что такая вещь, в которой я нуждаюсь, невозможна, см. Проблема с эффективными поисковыми вызовами Gridview без контроля источника данных

Ответы [ 4 ]

1 голос
/ 24 сентября 2010

Эффективное разбиение на страницы в GridView требует подсчета данных, в противном случае GridView загружает все данные на каждой странице. Поскольку нет способа сообщить GridView, каков счет данных, когда не используются элементы управления DataSource, невозможно иметь эффективную подкачку в GridView без элемента управления DataSource. Для получения дополнительной информации перейдите на эту ссылку и эту ссылку .

0 голосов
/ 23 сентября 2010

нужно установить PageSize="10"

см. По этой ссылке: http://www.dotnetspider.com/resources/1249-Grid-View-Paging-Sorting.aspx

0 голосов
/ 23 сентября 2010

Если ваш MyGetData метод уже принимает pageindex и pagesize, то все, что вам нужно, это:

protected void grdList_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    grdList.PageIndex = e.NewPageIndex;
    grdList.DataSource = MyGetData(e.NewPageIndex, grdList.PageSize);
    grdList.DataBind();
}

но это кажется слишком упрощенным, поэтому я, вероятно, что-то здесь упускаю.

0 голосов
/ 23 сентября 2010

Вы можете установить Размер страницы в элементе управления GridView .

...