2017-05-04 17 views
0

一つ、このYii 1.1.14でCGridViewの更新後に選択したフィルタオプションのドロップダウンを選択する方法? Yiiの1.1.14での私のCGridViewでフィルタオプションの

 array(
      'header' => 'Status', 
      'name' => 'status', 
      'filter' => CHtml::dropDownList('MyModel[status]','status', array(
        '' => '', 
        '0' => 'Approved', 
        '1' => 'Pending', 
        '2' => 'Rejected' 
      )), 
      'type' => 'raw', 
      'value' => 'MyHelper::model()->getStatus($data->status)', 
      'htmlOptions' => array('width' => '8%') 
     ), 

私の問題は、私は、ドロップダウンフィルタからいずれかを選択するたびに、CGridViewは右で結果を更新しますが、、であるましたドロップダウンから選択したオプションが表示されなくなった場合、選択されていないことを意味します。選択したままにする方法は?

答えて

0

dropDownListに選択した値を渡す必要があります。以下のように

CHtml::dropDownList('MyModel[status]', MyModel->status, array(
       '' => '', 
       '0' => 'Approved', 
       '1' => 'Pending', 
       '2' => 'Rejected' 
     )), 

私はデフォルトの承認ステータスを与えています。すなわち、dropDownList関数の第2パラメータ。

+0

どうすればいいですか? CGridViewを使用していますが、このドロップダウンはその中のフィルタです...ドロップダウンからオプションを選択するとグリッドが更新され、ドロップダウンリストが空の選択に戻ります – sasori

+0

MyModel-> statusに '0'を置き換えます –

+0

すでにうまくいきませんでした。 – sasori

0

お使いのコントローラのアクションで、あなたがこのようなあなたのモデルにこの変数を設定することができますので、あなたのGridViewリロードは、まずコールがあなたにコントローラのアクションを行くあなたは、あなたのモデルの変数/オブジェクトを宣言している必要がありますたび:

$myModel->status = $_GET['status']; 

を呼び出し、呼び出しがビューに戻ると、その 'status'変数に設定されている値を確認できます。

関連する問題