在Yii中按月分页Gridview

时间:2014-02-13 14:22:52

标签: php yii pagination cgridview cactivedataprovider

是否可以按月对gridview进行分页?我猜我可以通过ActiveDataProvider实现这一点,方法是添加一个条件并创建导航以生成每月的结果。但是,Yii中是否有一种简单的方法或内置的东西?

2 个答案:

答案 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是可用的属性

  1. 当前页
  2. ITEMCOUNT
  3. 限制
  4. 偏移
  5. PAGECOUNT
  6. pageSize的
  7. pageVar
  8. PARAMS
  9. 路线
  10. validateCurrentPage
  11. 您可以手动将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/