是否可以按月对gridview进行分页?我猜我可以通过ActiveDataProvider实现这一点,方法是添加一个条件并创建导航以生成每月的结果。但是,Yii中是否有一种简单的方法或内置的东西?
答案 0 :(得分:0)
分页按返回的结果数量工作。查询中的group by
子句可能是执行此操作的最佳方法。
此主题也可能对您有所帮助。 How to group items by date in Yii CListView?
和此:
http://www.yiiframework.com/forum/index.php/topic/39202-cgridview-datas-group-by-months/
答案 1 :(得分:0)
这可能会在Dataprovider分页部分或使用CPagination进行。 给出的例子
function actionIndex(){
$criteria=new CDbCriteria();
$count=Article::model()->count($criteria);
$pages=new CPagination($count);
// results per page
$pages->pageSize=10;
$pages->applyLimit($criteria);
$models=Article::model()->findAll($criteria);
$this->render('index', array(
'models' => $models,
'pages' => $pages
));
}
Herer是可用的属性
您可以手动将pageCount设置为12,或者在传递正确的值之前先检查每个月的数据。
你最好的选择是看看pageSize并查看是否有传递这个值的数组(即每个月的计数)
我一直无法在这方面找到更多足够令人惊讶的内容,因为其他人尝试这一点似乎相当合乎逻辑。
也许尝试在Yii论坛上发帖,因为我之前已经取得了很好的成功。
请参阅以下链接以获取上述信息。
http://www.yiiframework.com/doc/api/1.1/CPagination
<强>更新强>
http://www.yiiframework.com/forum/index.php/topic/42936-solved-custom-page-size-for-cgridview-error/
http://www.ramirezcobos.com/2010/11/30/custom-page-size-for-cgridview/