Могу ли я использовать < asp: dataGrid > пейджер с производительностью подкачки базы данных?

StackOverflow https://stackoverflow.com/questions/631371

Вопрос

У меня есть процедура хранилища, которая обрабатывает страницы на уровне базы данных, получая @ PageSize и @ PageIndex . Я могу создать еще один, который вернет @ PageCount , учитывая размер страницы.

Можно ли заставить сетку данных выполнять подкачку на уровне базы данных, не разрабатывая ее вне элемента управления, используя пейджер управления?

Кажется, что использование по умолчанию разбиения на страницы таблицы данных получает все результаты запроса и выполняет подкачку за пределами базы данных. Это не хорошо для нас, ненужная перегрузка.

Это было полезно?

Решение

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

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

На основании вашего комментария "я использую соединение ADO, команду и т. д., и после загрузки результатов в список объектов (мои классы сущностей) я создаю datagrid.DataSource = List; "

Другие советы

Если вы используете элемент управления ObjectDataSource в качестве DataSourceID GridView, то он работает довольно легко. Элементы управления ObjectDataSource имеют несколько параметров, в которых вы можете указать имена свойств PageIndex и MaxRows.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top