0

ajaxによってCGridView('myGridViewID')のページに追加すると、リロードできません。
$ .fn.yiiGridView.update('myGridViewID');

TypeError:設定は未定義です

$ grid.addClass(s​​ettings.loadingClass);

4

3 に答える 3

1

コントローラアクションでrenderPartialを使用します。

$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);
于 2013-05-22T16:14:07.223 に答える
0

これは、同じビューの動的CgridViewのwikiです。それはうまくいくはずです。

于 2013-05-21T20:56:42.620 に答える
-2

動的にロードされたCGridView(およびajaxを含むすべて)の問題は、必要なレイアウトとJSを含むCController :: render()とは異なり、CController :: renderPartial()が必要なjavascriptコードを正しく機能させないことです。

この問題の回避策を提供するZControllerと呼ばれる拡張機能がありますが、CGridviewsが再ロードされる方法(同じURLへのajax呼び出しを行うことによる)のために...AJAXを介してロードされたCGridViewをフィルター/ソート/ページングしようとすると、後続のAjax呼び出しは、ブラウザーウィンドウのコンテンツ全体を置き換えますが、正直なところ、この回避策が役立つと思いますが(たぶん)、試してみる時間がありませんでした。

そのため、現在、AJAXを使用してCGridViewをロードすることは避けています。

于 2013-03-26T15:26:56.130 に答える