CGridview настраиваемое поле сортируется - PullRequest
2 голосов
/ 03 октября 2011

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

Ответы [ 2 ]

3 голосов
/ 09 октября 2011

В функции 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 голосов
/ 22 ноября 2011

Подробное описание поиска в пользовательских полях по этому адресу:

Использование стандартных фильтров в пользовательских полях CGridView

...