2017-08-31 16 views
0

私はモーダルダイアログでgridViewを使用しようとしていますが、何かを検索すると(フィルタリング)、すべてのページが更新され、明らかにモーダルが閉じます。 私はそれが正常に動作するようにする必要がありますか?yii2 - モーダルウィンドウ内のgridviewでpjaxを使用する

私のコード:

ビュー

use yii\widgets\Pjax; 

<?php 
    Modal::begin([ 
     'id' => 'modal', 
     'header' => '<h2>Students</h2>', 
     'toggleButton' => ['label' => 'Show Students'], 
    ]); 
    Pjax::begin(); 
    echo GridView::widget([ 
      'dataProvider' => $dataProvider, 
      'filterModel' => $searchModel, 
      'columns' => [ 
       'student_code', 
       'name', 
       'grade', 
      ], 
     ]); 
    Pjax::end(); 
    Modal::end(); 
?> 

コントローラ

public function actionDetail($id) 
    { 
     $model = $this->findModel($id); 

     $searchModel = new DatosBasicosSearch(); 
     $dataProvider = $searchModel->search(Yii::$app->request->queryParams);  

     if ($model->load(Yii::$app->request->post()) && $model->save()) { 
      return $this->redirect(['view', 'id' => $model->id]); 
     } else { 
      return $this->render('detail', [ 
       'model' => $model, 
       'searchModel' => $searchModel, 
       'dataProvider' => $dataProvider, 
      ]); 
     } 
    } 

私は、ドキュメント上で検索oficialページからチュートリアルと私は関連の記事の多くを見つける必要がありますが、私しています問題を解決することはできません。

ありがとうございました。

答えて

0

問題がPjaxの開始()メソッドで設定することによって引き起こされた、正しい方法である:

ビューコード:

use yii\widgets\Pjax; 

<?php 
    Modal::begin([ 
     'id' => 'modal', 
     'header' => '<h2>Students</h2>', 
     'toggleButton' => ['label' => 'Show Students'], 
    ]); 

    Pjax::begin([ 
     'id'=>'pjax-students-gridview', 
     'timeout' => false, 
     'enablePushState' => false, 
    ]); 

    echo GridView::widget([ 
      'dataProvider' => $dataProvider, 
      'filterModel' => $searchModel, 
      'columns' => [ 
       'student_code', 
       'name', 
       'grade', 
      ], 
     ]); 

    Pjax::end(); 

    Modal::end(); 
?> 

制御コードが同じであり、問​​題はありません。

ありがとうvityapro私を正しい道で連れて行こう。

0

GridView

'pjax' => true, 
'pjaxSettings'=>[ 
    'options'=>[ 
     'enablePushState'=>false, 
    ], 
], 

にpjaxの設定を追加し、GridViewコントロールのレンダリングやフィルタをトリガ...とconfigure filterUrl用に別のアクションを作成してみてください。

+0

この設定をGridViewに追加すると、次のエラーが表示されます。「不明なプロパティ - yii \ base \ UnknownPropertyException未知のプロパティを設定する:yii \ grid \ GridView :: pjax」 –

関連する問題