[C#] Ручная настройка PageCount GridView, когда DataSource не возвращает полный набор результатов?


Answers

Вы должны установить AllowCustomPaging = "true". И когда привязка данных делает:

mygrid.VirtualItemCount = totalRecords;
mygrid.DataSource = mysource;
mygrid.DataBind();

Обновление 1: выше только для данных. К сожалению, единственный поддерживаемый способ создания подкачки на стороне сервера с помощью gridview - это реализовать объект-источник данных или реализовать собственный источник данных. Ниже приведен соответствующий msdn документ http://msdn.microsoft.com/en-us/library/5aw1xfh3.aspx .

Обновление 2: этот метод теперь работает с GridView с .Net 4.5

Question

Я пытаюсь выяснить, как структурировать структуру GridView ASP.NET, поэтому я могу использовать встроенную функциональность фреймворка вместо рутинных рутинных рутинных русификаций моей компании, которые требуют много работы для реализации.

Я выяснил все, кроме того, как получить свойство PageCount GridView для работы с нашими веб-службами. В настоящее время наши веб-службы возвращают общее количество записей, как показано ниже:

public object[] GetStuffMethod(int pageNum, int recordsPerPage, out int totalRecords)

Это отлично работает с GridView, однако документация, которую я нашел, говорит о том, что GrideView PageCount генерируется из общих записей в DataSource. Не существует ли способа установить PageCount на основе чего-то другого, кроме как вернуть все записи?

В моем источнике данных может быть десятки тысяч записей, поэтому я бы не выбрал их всех, чтобы сделать счет страницы GridView. Я, вероятно, мог просто игнорировать счет страницы GridView и вычислять ее самостоятельно, но если у рамки есть способ сделать это, я бы предпочел использовать ее.