2013-03-26 138 views
0

如果通過ajax附加到頁面的CGridView('myGridViewID'),我無法重新加載它。
$ .fn.yiiGridView.update('myGridViewID');Yii - 重新加載動態添加CGridView

TypeError: settings is undefined

$grid.addClass(settings.loadingClass);

回答

1
  1. 使用的RenderPartial:

`

// in controller action: 

$cs = Yii::app()->clientScript; 
$cs->reset(); 
$cs->scriptMap = array(
    'jquery.js' => false, // prevent produce jquery.js in additional javascript data 
); 


// Look at 4th parameter: with TRUE value, your view will have additional javascript data. 
$this->renderPartial('_partialViewWithGrid', array(), false, true); 

`

-2

與動態加載CGridViews(以及含有AJAX的一切)的問題是,CController ::的RenderPartial()不渲染所需的JavaScript代碼爲他們正常工作,不像CController :: render()方法,其中包括所需的佈局和JS。

an extension called ZController它提供了一個解決這個問題的方法,但由於CGridviews的重載方式(通過對同一個URL進行ajax調用)......當你嘗試過濾/排序/頁面加載的CGridView AJAX,隨後的Ajax調用將取代您的瀏覽器窗口的全部內容,但我老老實實地認爲也許也許只有this workaround可以幫助,但我沒有時間去嘗試。

這就是爲什麼我目前避免使用AJAX加載CGridViews。

0

下面是在同一視圖中動態CgridViews的維基。這應該工作。