2016-10-04 3 views
0

Я пытаюсь реализовать выпадающий фильтр в Cgridview, столбец из другой таблицы.Фильтр Yii Cgridview не работает?

//model search code 

    //person table 
    public function search(){ 
    $criteria=new CDbCriteria; 
     $criteria->alias='per';  
    $criteria->compare('LastName',$this->LastName,true);  
    $criteria->compare('FirstName',$this->FirstName,true);   
    $criteria->join='right JOIN person_surveys ps ON ps.id = per.P_Id'; 

    } 
    //relation to person survey 

    public function relations() 
{ 

    return array(

     'user' => array(self::BELONGS_TO, 'PersonSurvey', 'P_Id'), 

    ); 

} 

    //person survey table model search 

    public function search() 
{ 


    $criteria=new CDbCriteria;  
    $criteria->compare('person_id',$this->person_id,true);  
    $criteria->compare('survey_ids',$this->survey_ids,true);   
    $criteria->join='left JOIN persons ps ON ps.id = per.P_Id'; 

    } 

    //controller 
    public function actiongriddisplay(){ 

     $model2=new Persons('search'); 
     if(isset($_GET['ajax'])){ 

     $model2->attributes =$_GET['Persons']; 
     $this->render('griddisplay',array('model2'=>$model2));  
     } 

     else{ 

      $this->render('griddisplay',array('model2'=>$model2)); 
    } 


    } 

    //in view file 

    $this->widget('zii.widgets.grid.CGridView', array(  
     'dataProvider' => $model2->Search(), 
     'filter' => $model2, 
     'ajaxType'=>'GET', 
     // 'ajaxUpdate'=>'items', 
     //'ajaxUrl' =>$this->createUrl('userManagement'), 
     'columns' => array(    
       array(
     'name' => 'FirstName', 
     'header'=>'Full Name', 

      ), 
      array(
    'name' => 'user.survey_ids', 
    'header'=>'Survey ids',  

    'filter'=>CHtml::activeDropDownList($model2 ,'survey_ids', array('224'=>'224','223'=>'223','225'=>'225')), 

      'value'=>'isset($data->user->survey_ids)?$data->user->survey_ids:null' 

     ), 

Я поместил поиск на, в моделях. почему фильтр выпадающего меню не работает? Почему это не работает, пожалуйста, помогите?

+0

какая ошибка вы получаете во время запуска этого кода? Можете ли вы разместить здесь? –

+0

Код не получает ошибок. Он отображает Grid, с раскрывающимся списком в столбце опроса, но выпадающее меню не фильтрует столбец. Он просто обновляет страницу, отображая весь столбец без фильтрации. – webcoder

+0

Вы пытались использовать метод 'ajaxType' => 'POST'? –

ответ

Смежные вопросы