Как избежать повторного получения записей при нажатии кнопки пейджинга на Radgrid - PullRequest
0 голосов
/ 07 апреля 2010

Я использую radgrid в своем веб-приложении. Я хочу избежать повторного получения записей при нажатии кнопки пейджинга на радиосети.

У меня есть метод SetTodaysAlerts, который получает около 100 записей и привязывает к моей Radgrid. Размер страницы radgrid равен 10, поэтому доступны кнопки First, Next, Previous и Last. Когда я нажимаю следующую кнопку, как я могу избежать повторного извлечения записей.

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

1 Ответ

0 голосов
/ 07 апреля 2010

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

При использовании RadGrid (при условии, что AllowCustomPaging = true) необходимо сначала подсчитать общее количество записей и сохранить значение в свойстве VirtualItemCount RadGrid.

Теперь в NeedDataSource, который вызывается при изменении страницы, вам нужно вычислить диапазон извлекаемых записей следующим образом:

int firstRow = radGrid.CurrentPageIndex * radGrid.PageSize;
int maxRow   = radGrid.PageSize;

, а затем передать их в ваш запрос, получить результаты, выполнить набор DataSource и Rebind ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...