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

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

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

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

Ответы [ 2 ]

2 голосов
/ 10 марта 2009

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

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

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

1 голос
/ 10 марта 2009

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

...