Как сделать предыдущая следующая страница? - PullRequest
0 голосов
/ 17 февраля 2012

wpf, как это сделать предыдущая следующая страница.Контроль можно использовать?Вот так

prev 1 2 3 4 5 ... 20 next

Я нашел это, но не знаю, как его использовать.

var dicts = (from m in db.sys_Dictionary
             orderby m.sd_Key 
             select m).Skip(90).Take(10);

Я могу запустить linq, но я не знаю, как это сделать.полный портфель.

Я нахожу много данных в б / с, мне нужна функция пейджинга в к / с, спасибо.

1 Ответ

1 голос
/ 17 февраля 2012

То, что вы только что опубликовали, является запросом linq, но не может быть объяснено, если вы не знаете, как работает linq.в основном, эти операторы говорят select все из таблицы m или контекст базы данных имя таблицы db sys_Dictionary и порядок по столбцу sd_KeyЗатем, что происходит, он использует метод Skip, чтобы пропустить первые 90 возвращенных значений и вернуть только следующие 10 записей.

Проблема, которую вы не понимаете, заключается в том, что эта страница будет отображаться только в этом экземпляре.Чтобы настроить следующую предыдущую страницу, вы должны настроить класс подкачки следующим образом:

public PaginatedList<T>(IQueryable<T> source, int pageIndex, int? pageSize)
{
    PageIndex = pageIndex; //global variable
    PageSize = pageSize ?? source.Count(); //global variable
    TotalCount = source.Count(); //global variable
    TotalPages = (int)Math.Ceiling(TotalCount /(double)PageSize); //global variable
    this.AddRange(source.Skip(PageIndex*PageSize).Take(PageSize));
}

, тогда у вас есть два метода: один с HasPreviousPage и один с HasNextPage

пример

  public bool HasPreviousPage
  {  
      get
      {
          return(PageIndex >0); //same global variable
      }
   }

, затем вы можете передать свои данные и вернуть эту страницу, например

int page= 6;
var dictspage = new PaginatedList<m>(dicts, page, 10); //remove the skip and take from your dicts
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...