2012-04-23 12 views
0

私は別のcgridview内側に1 cgridviewを持っている: 外側の1は、次のとおりです。Yiiのcgridview ajaxUpdateプロパティ

$this->widget('application.modules.user.components.CsvGridView', array(
    'dataProvider'=>$model->mySearch(), 
    'filter' => $model, 
    'id'=>'users-grid', 
... 

内側のものがある:

$this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'vacr-grid', 

    'dataProvider'=>$model->searchu(), 
    // 'pager'=>false, 
    // 'enableSorting'=>false, 
    'summaryText'=>'', 
    'ajaxUpdate'=>'vacr-grid', 

    'columns'=>array(

     'start', 
     'end', 
       array(
         'name' => 'vac_type', 
         'value' => 
         'isset($data->vacType->name)?$data->vacType->name:$data->vac_type' 
       ), 
    ), 
)); 

問題は内側のものが更新されないということです適切に(もちろんajaxで更新する)。

たとえば、内側のcgridviewでリクエストされたURLは次のようになります。リクエストURL:http:// localhost/orm/vac/vac/adminu/user_id/1/Vac_page/2?ajax = users-grid
users-gridが外側のcgridviewのIDであることに注意してください。 そして「次へ」をクリックすると、内側と外側の両方のcgridviewsが消えます。

ajaxUpdate propertyを使用しようとしましたが、何も影響しません。 ありがとうございます。

+0

すべてが右に見えます。 JavaScriptのエラーがありますか?私たちはそれを確認できるライブサイトを持っていますか? –

+0

「次へ」をクリックしますか?そのボタンはどこから来たのですか? –

+0

@マッシンガンいいえ、申し訳ありませんが、ライブサイトはまだありません。 –

答えて

3

これは私が抱えていたのと同じ問題です。ソートおよびページングURLはdataProviderによって設定され、検索URLはajaxUrlによって設定されます。 CGridViewをコンテキスト外で使用するには、すべて3を設定する必要があります。個別に設定

のdataProvider:

$dataProvider=new CActiveDataProvider('Modelname',array(
    'criteria'=>$criteria, 
    'pagination'=>array(
     'route'=>'something/search' 
    ), 
    'sort'=>array(
     'route'=>'something/search' 
    ) 
)); 




$this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'vacr-grid',  
    'dataProvider'=>$dataProvider, 
    'summaryText'=>'', 
    'ajaxUpdate'=>'vacr-grid', // not necessary if same as id 
    'ajaxUrl'=>Yii::app()->createUrl('Something/search'), // this takes care of the search 
    'columns'=>array( 
     'start', 
     'end', 
       array(
         'name' => 'vac_type', 
         'value' => 
         'isset($data->vacType->name)?$data->vacType->name:$data->vac_type' 
       ), 
    ), 
)); 

はまた、私同様の質問は...

How do I use the ajaxUrl parameter of CGridView in Yii?

関連する問題