Я создал с пользовательским полем в yii Cgridview, но как сделать это сортируемым. Значение настраиваемого поля определяется функцией в модели. Я хочу сделать это поле сортируемым? Может кто-нибудь мне помочь?CGridview настраиваемое поле сортируемое
2
A
ответ
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 ** в модели, чтобы отразить новое настраиваемое поле. более подробную информацию –
0
Существует подробное описание о поиске пользовательских полей по этому адресу:
Нам нужно немного больше информации - вы определите пользовательский вид? Какой поставщик данных вы используете? – ldg