2011-10-03 6 views
2

Я создал с пользовательским полем в yii Cgridview, но как сделать это сортируемым. Значение настраиваемого поля определяется функцией в модели. Я хочу сделать это поле сортируемым? Может кто-нибудь мне помочь?CGridview настраиваемое поле сортируемое

+1

Нам нужно немного больше информации - вы определите пользовательский вид? Какой поставщик данных вы используете? – ldg

ответ

3

В search функции модели, где customField это имя вашего поля:

// ...other criteria... 
$criteria->compare('customField',$this->customField); 

$sort = new CSort(); 
$sort->attributes = array(
    'customField'=>array(
     'asc'=>'customField ASC', 
     'desc'=>'customField DESC', 
    ), 
    '*', // this adds all of the other columns as sortable 
); 

return new CActiveDataProvider($this, array(
    'criteria'=>$criteria, 
    'sort'=>$sort, 
)); 

Вы также, возможно, потребуется обновить rules и attributeLabels в вашей модели, чтобы отразить новое пользовательское поле.

+0

Вы можете описать, какие обновления необходимы для ** правил ** и ** attributeLabels ** в модели, чтобы отразить новое настраиваемое поле. более подробную информацию –

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

  • Нет связанных вопросов^_^