RenderPartial CActiveDataProvider разбиение на страницы ajax не работает yii

Мой код контроллера

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"]))'
                                ),

                                 ),
                               ));

Но когда я нажимаю на свою разбивку на страницы, моя страница обновляется, какую ошибку я здесь сделал, я хочу загрузить данные при разбиении на страницы без обновления страницы.


person Dhanush Bala    schedule 12.11.2014    source источник


Ответы (2)


Надеюсь, это сработает, вы можете просто сделать 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);
person Jenno Richi Benat    schedule 12.11.2014
comment
вы вызываете это в ajax? - person Jenno Richi Benat; 12.11.2014
comment
используйте приведенный выше код, прокомментируйте две строки, используйте только renderPartial - person Jenno Richi Benat; 12.11.2014
comment
просмотрите исходный код страницы и проверьте, загружен ли jquery, и если да, проверьте наличие ошибки в консоли. - person Jenno Richi Benat; 12.11.2014
comment
Давайте продолжим обсуждение в чате. - person Jenno Richi Benat; 12.11.2014

В своем CGridView вы указали отключить AJAX следующей строкой:

'ajaxUpdate' => false,

Вы должны изменить его на TRUE:

'ajaxUpdate' => true,
person Ali MasudianPour    schedule 12.11.2014