Bueno aquí esta la respuesta de como lo hice video34 "Gustavo Salgado"
1.- crear una carpeta en extensions con el nombre de puntos dentro de ella colocar el archivo GPuntos.php
<?php
class GPuntos extends CActiveRecordBehavior
{
public $campos; // String de campos separados por comas los cuales se les desea aplicar el formato
public $separador = '.'; // Separador de miles
public function beforeSave($event)
{
$campos = explode(',', $this->campos);
foreach($campos as $campo){
if(isset($this->getOwner()->{trim($campo)}))
$this->getOwner()->{trim($campo)} = str_replace($this->separador, '', $this->getOwner()->{trim($campo)});
}
}
public function afterFind($event)
{
$separador_dec = ($this->separador != '.')? '.' : ',';
$campos = explode(',', $this->campos);
foreach($campos as $campo)
$this->getOwner()->{trim($campo)} = number_format($this->getOwner()->{trim($campo)},0,$separador_dec,$this->separador);
return true;
}
}
2.- Después ir al modelo o modelos donde se va a utilizar y agregar (en mi caso modelo Monto)
public function behaviors()
{
return array(
'GPuntos' => array(
'class' => 'ext.puntos.GPuntos',
'campos' => 'total_monto, pecunario_uach, no_pecunario_uach, total_contraparte',
'separador' => '.',
),
);
}
3.- utilizar en admin el widget simple, puesto que el otro no me sirvió (con array{ name, value, htmlOptions} )
mi widgets
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'monto-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
'id_monto',
'id_proyecto',
'origen_rec',
'total_monto',
/*'ano_01',
'ano_02',
'ano_03',
'ano_04',
'ano_05',
'ano_06',*/
'pecunario',
'no_pecunario',
'total_contraparte',
array(
'class'=>'CButtonColumn',
),
),
)); ?>
y ya esta todo el modelo monto con su formato en miles 