我正在使用Yii应用程序。在那里如何给表内容分页(不使用cgridview)。
配置/ main.php
.*
在控制器中,
'params'=>array(
'adminEmail'=>'webmaster@example.com',
'listPerPage'=> 10,//default pagination size
),
在视图中,
public function actionOutbox() {
$criteria = new CDbCriteria;
$criteria->condition = 'from_userid = :id';
$criteria->order = 'time DESC';
$criteria->params = array (':id'=>Yii::app()->user->id);
$item_count = Email::model()->count($criteria);
$model = Email::model()->findAll($criteria);
$pages = new CPagination($item_count);
$pages->setPageSize(Yii::app()->params['listPerPage']);
$pages->applyLimit($criteria);
$this->render('outbox', array(
'model' => $model,
'item_count'=>$item_count,
'page_size'=>Yii::app()->params['listPerPage'],
'items_count'=>$item_count,
'pages'=>$pages,
));
}
通过使用此代码,当前页面大小不起作用。显示表中的完整值。我也将页面大小从10改为2,但没有工作。
我做错了什么?
请帮帮我。提前致谢
答案 0 :(得分:1)
你使用findAll
没有限制,并希望yii了解分页?
使用CGridView小部件代替它并在DataProvider中设置分页(不创建单独的分页对象:它不会影响结果计数)。
请阅读this topic。
感谢。