Не совсем понял что вы хотите, но я использую так:
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'category-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
array(
'name'=>'category_title',
'type'=>'raw',
'value'=>'CHtml::link($data->category_title,$data->url)',
),
array(
'name'=>'category_parent_id',
'value'=>'$data->parent->category_title',
'filter'=>$model->allParents,
),
array(
'name'=>'Tags',
'type'=>'raw',
'value'=>'$data->thisTags',
'filter'=>'',
),
'category_width',
array(
'name'=>'category_time',
'value'=>'Yii::app()->locale->dateFormatter->formatDateTime($data->category_time)',
'filter'=>'',
),
array(
'name'=>'category_status',
'value'=>'$data->statusText',
'filter'=>$model->statusArray,
),
array(
'class'=>'CButtonColumn',
'template'=>'{view} {update} {block} {unblock} {mydelete} {myundelete}',
'buttons'=>array(
'mydelete'=>array(
'label'=>'Delete',
'url'=>'array("delete","id"=>$data->category_id)',
'imageUrl'=>'/tkt/images/delete.png',
'visible'=>'$data->category_status<>-1',
),
'myundelete'=>array(
'label'=>'Undelete',
'url'=>'array("unDelete","id"=>$data->category_id)',
'imageUrl'=>'/tkt/images/undelete.png',
'visible'=>'$data->category_status==-1',
),
'block'=>array(
'label'=>'Block',
'url'=>'array("block","id"=>$data->category_id)',
'imageUrl'=>'/tkt/images/block.png',
'visible'=>'$data->category_status==1',
),
'unblock'=>array(
'label'=>'Unblock',
'url'=>'array("unblock","id"=>$data->category_id)',
'imageUrl'=>'/tkt/images/unblock.png',
'visible'=>'$data->category_status==0',
),
),
),
),
));