Como fazer uma coluna no indice filtrar

Uma tarefa que me passaram era pra incluir um campo este campo deve aparecer na lista e também ser utilizado para ser filtrado.

Eu já tinha feito algo parecido antes e o filtro funcionou.

Aqui estão o código do que funciona e doq NÂO funciona.

no View


            'header'=>$model->getAttributeLabel('Cod_Estado'),

            'name'=>'Cod_Estado',

            'value'=>'(isset($data->Estado->Cod_Estado)) ? CHtml::encode($data->Estado->Sigla) : NULL',

            'type'=>'raw',

            'filter'=> CHtml::listData(estado::model()->findAll(),'Cod_Estado','Sigla')



e doq FUNCIONA


        array(

            'header'=>$model->getAttributeLabel('Cod_Status_Contato_Visita'),

            'name'=>'Cod_Status_Contato_Visita',

            'value'=>'(isset($data->StatusContatoVisita->Cod_Status_Contato_Visita)) ? CHtml::encode($data->StatusContatoVisita->Status_Contato_Visita) : NULL',

            'type'=>'raw',

            'filter'=> CHtml::listData(StatusContatoVisita::model()->findAll(),'Cod_Status_Contato_Visita','Status_Contato_Visita'),

        ),



A coluna que acrescentei também não ordena, gostaria de saber como fazer ela ordenar pela coluna também.

No model que FUNCIONA tem essa linha no search()


$criteria->compare('Cod_Status_Contato_Visita',$this->Cod_Status_Contato_Visita,true);

Mas adicionei uma linha correspondente no model dele tb e não deu certo tb.

Você precisa definir o atributo como safe no método rules() do model. Se for possível, cole o código do seu model.