RenderPartial CActiveDataProvider分页ajax不工作yii

时间:2014-11-12 09:19:27

标签: php ajax yii pagination

我的控制器代码

public function actionRead() {
       $criteria=new CDbCriteria(array(                    
                                'order'=>'id desc',
                            ));
        $enP=new CActiveDataProvider('Readss', array(
                'criteria'=>$criteria,
                    'pagination'=>array(
                    'pageSize'=>1,
                ),
            ));
$this->renderPartial('_read', array('data'=>$enP));
}

正确显示gridview,

我的观看代码

$this->widget('zii.widgets.grid.CGridView', array(
                              'id'=>'dfsdfsdf',
                                'dataProvider' => $data,
                               'itemsCssClass' => 'sdfsdfdl',
                                  'ajaxUpdate' => false,
                                'template' => '{summary}{pager}{items}{summary}{pager}',

                                  'columns'=>array(
                                    array(
                                      'header'=>'#',
                                      'value'=>'++$row',
                                      'htmlOptions'=>array(
                                      'style'=>'width:50px;'
                                      )
                                  ),
                                    'name',
                                    array(
                                    'name'=>'Date',
                                    'header'=>'Date',

                                    'value'=>'Yii::app()->dateFormatter->format("d MMM y",strtotime($data["work_date"]))'
                                ),

                                 ),
                               ));

但是当我点击我的分页时,我的页面正在反复,我在这里做了什么错误, 我想在没有页面刷新的情况下加载点击分页数据。

2 个答案:

答案 0 :(得分:0)

希望这可行,你可以让第4个参数为真

//This will disable jquery being loaded again (use this if you have jquery already loaded 
//means you are calling this in ajax)
//Yii::app()->clientScript->scriptMap['jquery.js'] = false;
//Yii::app()->clientScript->scriptMap['jquery.min.js'] = false;
$this->renderPartial('_read', array('data'=>$enP),false,true);

答案 1 :(得分:0)

CGridView中,您指示通过以下行禁用AJAX

'ajaxUpdate' => false,

您必须将其更改为TRUE

'ajaxUpdate' => true,