CGridView中CSqlDataProvider的分页

时间:2016-10-10 10:36:42

标签: php yii pagination

我想通过Pagination在CGridView中显示检索到的数据,即CSqlDataProvider。   我通过CSqlDataProvider从表中检索数据并在CGridView中显示  但问题在于分页部分.. 首先看看我的Controller代码..

        $count = Yii::app()->db->createCommand('SELECT COUNT(familyid) FROM (' . $sql2 . ') as count_alias')->queryScalar();

        $rawData = Yii::app()->db->createCommand($sql2);

        $dataProviderRegSum = new CSqlDataProvider($rawData, array(
                'keyField' => 'familyid',
//              'pagination'=>false,
                /* 'pagination' => array(
                        'pageSize' => Yii::app()->user->getState( 'pageSize', Yii::app()->params[ 'defaultPageSize' ] ),PaymentTxnDate
                ), */
                'pagination'=>array('pageSize'=>20),
            'totalItemCount' => $count,
                'sort'=>array(
                        //'defaultOrder' => 'CreatedDate desc',
                        'defaultOrder' => 'PaymentTxnDate asc',
                        'attributes'=>array(
                                'RegistrationID'=>array(
                                        'asc'=>'familyid',
                                        'desc'=>'familyid DESC',
                                ),
                                'FirstName'=>array(
                                        'asc'=>'firstname',
                                        'desc'=>'firstname DESC',
                                ),
                                'LastName'=>array(
                                        'asc'=>'lastname',
                                        'desc'=>'lastname DESC',
                                ),
                                'CreatedDate'=>array(
                                        'asc'=>'CreatedDate',
                                        'desc'=>'CreatedDate DESC',
                                ),
                                'EmailedDate'=>array(
                                        'asc'=>'EamiledDate',
                                        'desc'=>'EamiledDate DESC',
                                ),



                        ),),

        ));

我的观点是

$this->widget('zii.widgets.grid.CGridView', array(
            'id'=>'family-record-grid',
            'dataProvider'=>$arr[1],
            'enableSorting' => false,

            //'enablePagination'=>false,

            'itemsCssClass'=>'tabchin',

            'columns'=>
            array(),
));

这里$ sql2是我的查询......

$ arr [1]是数据提供者,它已从控制器发送到视图作为数组...

我有totlaItemCount价值        pageSize20

一切都是正确的,但在输出中前20条记录显示确定 但页面链接,即分页的页面编号没有显示在底部..

这个错误被困了两天..但仍未得到解决方案 请帮助我,谢谢你阅读这些东西...

需要帮助..

0 个答案:

没有答案