CGridView пагинация показать "все"
CGridView пагинация показать "все"
Всем привет.
Как сделать в CGridView такую фику чтоб можно было посмотреть инфу без пагинации, в режиме "туалетная бумага", когда на страницу выводится сразу вся инфа.
API по этой теме читал, но не чего не нашел, может не туда смотрел.
Прикрепляю скрин, в красной рамке то что нужно добавить.
Как сделать в CGridView такую фику чтоб можно было посмотреть инфу без пагинации, в режиме "туалетная бумага", когда на страницу выводится сразу вся инфа.
API по этой теме читал, но не чего не нашел, может не туда смотрел.
Прикрепляю скрин, в красной рамке то что нужно добавить.
- MetalGuardian
- Сообщения: 208
- Зарегистрирован: 2011.03.06, 02:42
- Откуда: Киев
Re: CGridView пагинация показать "все"
можно переписать CGridView->template и добавить туда линк на "все записи". а там уже через get передать что нужно показать все записи.
Re: CGridView пагинация показать "все"
Передаю такой код в гетMetalGuardian писал(а):можно переписать CGridView->template и добавить туда линк на "все записи". а там уже через get передать что нужно показать все записи.
http://contakt.torgi/site/index?pagenation=1 не работает
http://contakt.torgi/site/index?ajax=go ... ation=1так тоже не работает
хотя так работает для пагинации http://contakt.torgi/site/index?Good_page=3
В модели я написал так
Код: Выделить всё
public $pagination = FALSE;
///.....
в rules()
array('id,pagination, ...', 'safe', 'on'=>'search'),
в public function search() у меня это public function fornt()
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
'pagination'=>array(
'pageSize' => $this->pagination==1?100000:10,
),
));
Re: CGridView пагинация показать "все"
может 'pageSize' => $_GET['pagination']==1?100000:10,
Re: CGridView пагинация показать "все"
лучше уже как в твитере делать- при прокрутке подгружать новые записи
Re: CGridView пагинация показать "все"
да, работает))g00dluck писал(а):может 'pageSize' => $_GET['pagination']==1?100000:10,
-
- Сообщения: 75
- Зарегистрирован: 2011.01.20, 23:52
Re: CGridView пагинация показать "все"
Думаю лучше pagination => false, чем pageSize => 100000
Re: CGridView пагинация показать "все"
Эм... А получить кол-во записей из БД и подставить на место кол-ва страниц?Kuklovod писал(а):да, работает))g00dluck писал(а):может 'pageSize' => $_GET['pagination']==1?100000:10,
PS: При создании CActiveDataProvider вторым параметром передаёться конфигурационный массив, элемент pagination является конфигурационным массивом для пагинатора, так вот при определённых условиях передавать элементу pageSize кол-во равное кол-ву записей в таблице ну или через переменную которая отвечает за кол-во страниц на строке. Вариантов вообщем много все зависит от вашей фантазии.
Я глядел в исходно коде вообще такой вариант не прокатит, ну и на всякий случай проверил, действительно, сбрасывается к кол-ву по умолчанию(10, установлено в фреймворке, константой).maschingan писал(а):Думаю лучше pagination => false, чем pageSize => 100000
Re: CGridView пагинация показать "все"
Размера страницы (или количества записей), видимо?.. Да и лишний запрос к чему?..XprogeR писал(а):Эм... А получить кол-во записей из БД и подставить на место кол-ва страниц?
Если глядеть лучше и пробовать правильно, то такой "вариант прокатывает":Я глядел в исходно коде вообще такой вариант не прокатит, ну и на всякий случай проверил, действительно, сбрасывается к кол-ву по умолчанию(10, установлено в фреймворке, константой).maschingan писал(а):Думаю лучше pagination => false, чем pageSize => 100000
Код: Выделить всё
return new CActiveDataProvider($this, array(
'pagination'=>false,
));
...
Re: CGridView пагинация показать "все"
На денвере все хорошо выводятся все 10839 записей, но когда я выполняю
на хостинге вместо грида <div class="tbl-grid"> </div>, тоесть аякс не чего не грузит.
Если так
, то грузит по 1000 записей, а если поставить 10000, то тоже аякс грузит пустоту.
В чем может быть дело?
Код: Выделить всё
'pagination'=>$_GET['pagination']==1?false:array(
'pageSize' => 10,
),
Если так
Код: Выделить всё
'pagination'=>array(
'pageSize' => $_GET['pagination']==1?1000:10,
),
В чем может быть дело?
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: CGridView пагинация показать "все"
В логи загляните. Скорее всего всю память скушало.
Нравится Yii? Давайте сделаем его лучше!.
Re: CGridView пагинация показать "все"
это логи которые в папке protected/runtime/application.log? если так то я вычестил все с них, залил выполнил показать "все". Грид не появился, но записей в логе не было.Sam Dark писал(а):В логи загляните. Скорее всего всю память скушало.
Re: CGridView пагинация показать "все"
Я думаю, что надо всё-таки в еррор логи веб-сервера глядеть.