2016-05-12 3 views
1

私はモーダルポップアップ内にグリッドビューを持っています。私はモデルのポップアップ内でグリッドビューの列をソートしようとしました。私はPjaxで試してみましたが、ページのURLを変更します。 urlを変更せずにモーダルポップアップでgridviewをソートしたいと思います。 コード:YII2のURLを変更せずにモーダルポップアップでグリッドビューを並べ替えるにはどうすればいいですか?

 <?php \yii\widgets\Pjax::begin(); 
      echo GridView::widget([ 
       'dataProvider' => $dataProvider, 
       'filterModel' => $searchModel, 
       'id' => 'data_lines_tables', 
       'columns' => [ 
          [ 
          'name', 
          'id' 
          ] 
         ] 
        ]); 
      \yii\widgets\Pjax::end();?> 

答えて

1

Pjaxは、URLを更新するためにpushStateを使用しますが、あなたは、単に使用してこれを無効にする必要があります。

\yii\widgets\Pjax::begin(['enablePushState' => false]); 

Pjax widgetについては、こちらをご覧ください。

+0

ypuありがとうございます。それはうまくいきます。@ soju –

+0

しかし、並べ替え結果はバックグラウンドページに表示され、モーダルではありません。 –

+1

私はPJAXに一意のIDを与えていないので、私は自分の問題を解決しました。 \ yii \ widgets \ Pjax :: begin(['enablePushState' => false、 'id' => 'UniQueiD']); ソート結果はモーダル自体に表示されます –

0

こんにちはモーダルポップアップでCgridviewのソートを行うには2つの方法がありますが、私は、ブートストラップモーダルポップアップで試してみました。

  1. CSortを使用してみてください。覚えておいてください、彼らのキーで$sort->attributesではCGridViewの列と一致する必要があります:

    public function actionIndex(){ 
    $sort = new CSort(); 
    $sort->attributes = array(
    'employee'=>array(
        'asc'=>'employee.name', 
        'desc'=>'employee.name desc', 
    ), 
    'company'=>array(
        'asc'=>'company.company_name', 
        'desc'=>'company.company_name desc', 
    ), 
    ); 
    
    $dataProvider=new CActiveDataProvider('job', array(
    'criteria'=>array('Criteria goes here'), 
    'sort'=>$sort, 
    )); 
    $this->render('index',array(
    'dataProvider'=>$dataProvider, 
    )); 
    
  2. uはあなたがあなたのフィールドに合わせてお選び何時間かIDに従ってソートする場合にも、このようなものを使用することができますデータベース。デフォルトでは

    $dataProvider=new CActiveDataProvider('job', array(
        'criteria'=>array('Criteria goes here'), 
        'sort'=>array(
         'defaultOrder'=>'createTime DESC', 
         ), 
    )); 
    
+0

foYii2で動作しますか? –

+0

私はyii2のためのCSortの代わりに並べ替えを試みました..しかし、ソートの結果は、ブートストラップモーダルで表示するのではなく背景ページに表示されます..? –

+0

私はyii2で試してみました。私はビジョンyii1.1です。それは私のために働いています。 –

関連する問題