2013-08-18 5 views
0

Я использую CArrayDataProvider (который в основном настраиваемый запрос, который я создал), который возвращает все результаты (более 1000) из базы данных.Yii CGridView pagination

Я использую результаты в представлении, но когда я использую разбиение на страницы, он возвращается к контроллеру для другого запроса.

Мой вопрос: есть ли способ переместить следующий набор результатов (уже часть массива результатов), не возвращаясь снова к контроллеру и модели.

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

спасибо, Дэнни

+0

Я предполагаю, что вы можете сделать вид разбивки на страницы с помощью js и ajax, но, как уже было сказано, нажатие более 1000 элементов на странице не было бы лучшей идеей. вы можете попробовать настроить свою функцию в запросе, чтобы она работала лучше для вашей ситуации. – Tavi

ответ

1

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

Тогда мой ответ был бы НЕТ, если вы использовали разбивку на страницы CGridview. В вашей ситуации вы должны сами сделать разбивку на страницы. Вы уже выбрали все записи и хотели бы манипулировать ими на своей стороне клиента, вам действительно не нужно разбиение на страницы CGridview.

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