Yii-重新加载动态添加的CGridView

Yii-重新加载动态添加的CGridView,yii,cgridview,Yii,Cgridview,如果通过ajax将CGridView“myGridViewID”附加到页面中,则无法重新加载它。 $.fn.yiiGridView.update'myGridViewID' TypeError:未定义设置 $grid.addClasssettings.loadingClass 动态加载的cgridview和包含ajax的所有内容的问题在于,CController::renderPartial没有呈现它们正常工作所需的javascript代码,这与CController::render不同,后者包

如果通过ajax将CGridView“myGridViewID”附加到页面中,则无法重新加载它。 $.fn.yiiGridView.update'myGridViewID'

TypeError:未定义设置

$grid.addClasssettings.loadingClass


动态加载的cgridview和包含ajax的所有内容的问题在于,CController::renderPartial没有呈现它们正常工作所需的javascript代码,这与CController::render不同,后者包括所需的布局和JS

有一种方法可以解决这个问题,但是由于CgridView是通过对同一URL进行ajax调用来重新加载的。。。当您尝试对通过AJAX加载的CGridView进行过滤/排序/分页时,随后的AJAX调用将替换浏览器窗口的全部内容,但我真诚地认为这可能只有帮助,但我还没有时间尝试


这就是我目前避免使用AJAX加载CgridView的原因。

这里有一个wiki,用于在同一视图中进行动态加载。这应该行得通。

在控制器操作中使用renderPartial:

$cs=Yii::app->clientScript; $cs->reset; $cs->scriptMap=array 'jquery.js'=>false,//防止在其他javascript数据中生成jquery.js ; //看看第四个参数:如果值为真,视图将有额外的javascript数据。 $this->renderPartial“u partialViewWithGrid”,数组,false,true;