Gracias por responder, pero mira esta vez la búsqueda es por GET me parece , te voy a dejar el código de la Vista para que lo veas completo , tengo la acción admin y create en el mismo formulario.
La variable $dato esta mal me parece, esa idea la saque del siguiente foro:
http://www.yiiframework.com/forum/index.php/topic/37355-cgridview-vacio-por-defecto/
Ojalá hubiera otra forma, yo creo que las de ese post que te mostre no son las correctas,
codigo Vista
<?php
/* @var $this AsientoController */
/* @var $model Asiento */
$this->breadcrumbs=array(
'Asientos'=>array('index'),
'Administrar Asientos',
);
$this->menu=array(
array('label'=>'Listar Asientos', 'url'=>array('index')),
array('label'=>'Crear Asiento', 'url'=>array('create')),
);
Yii::app()->clientScript->registerScript('search', "
$('.search-button').click(function(){
$('.search-form').toggle();
return false;
});
$('.search-form form').submit(function(){
$('#asiento-grid').yiiGridView('update', {
data: $(this).serialize()
});
return false;
});
");
?>
<?php
$form=$this->beginWidget('CActiveForm', array(
'action'=>Yii::app()->createUrl($this->route),
'method'=>'get',
)); ?>
<fieldset>
<legend style="font-weight:bold; color:#000000; font-size:1em">Seleccione</legend>
<div class="row">
<?php echo $form->label($model,'Cliente (Médico) RUT'); ?>
<?php echo $form->textField($model,'cliente_rut',array('size'=>25)); ?>
          o Seleccione
<?php echo CHtml::activedropDownList($model,'asiento_cliente_id', CHtml::listData(cliente::model()->findAll(), 'cliente_id', 'cliente_nombre'), array('empty' => 'Seleccione Cliente (Médico)'));
echo CHtml::error($model,'asiento_cliente_id'); ?>
</div>
<div class="row buttons" align="right">
<?php echo CHtml::submitButton('Buscar'); ?>
</div>
<?php $this->endWidget(); ?>
</fieldset>
<div id="asiento-grid">
<?php
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'asiento-grid',
'dataProvider'=>$model->search(),
'columns'=>array(
array( 'class'=>'CCheckBoxColumn',
'value'=>'$data->asiento_id',
'selectableRows'=>10,
'id'=>'chk',
),
array(
'name'=>'asiento_cliente_id',
'header'=>'Rut Cliente',
'value'=>'$data->clienteCliente->cliente_rut',
'filter'=>Asiento::getListarClienteRut(),
),
array(
'name'=>'asiento_cliente_id',
'value'=>'$data->clienteCliente->cliente_nombre',
'filter'=>Asiento::getListarCliente(),
),
'asiento_fecha_oficial',
'asiento_voucher',
array(
'name'=>'asiento_tipo_asiento_id',
'value'=>'$data->tipodeAsiento->tipo_asiento_nombre',
'filter'=>Asiento::getListarTipoAsientos(),
),
'asiento_glosa',
array(
'name'=>'asiento_monto',
'header'=>'Debe',
'type'=>'raw',
'value'=> $model->asiento_monto,
),
array(
'name'=>'Haber',
'type'=>'raw',
'value'=>array($this,'calcularHaberAsiento'),
),
/*
'asiento_cliente_id',
'asiento_cc_cust_id',
'asiento_usuario_id',
'asiento_tipo_operacion',
*/
array(
'class'=>'CButtonColumn',
'header'=>'Modificar',
),
),
));?>
</div>
<?php $this->renderPartial('_form', array('model'=>$model)); ?>
La función del Controlador
public function actionAdmin()
{
$model=new Asiento('search');
$this->performAjaxValidation($model);
if(isset($_GET['Asiento']))
$model->attributes=$_GET['Asiento'];
if(isset($_POST['Asiento']))
{
$model->attributes=$_POST['Asiento'];
$model->asiento_usuario_id = Yii::app()->user->getId();
if($model->save())
$this->redirect(array('view','id'=>$model->asiento_id));
}
$this->render('admin',array(
'model'=>$model,
));
}
y el metodo search() del modelo
public function search()
{
// @todo Please modify the following code to remove attributes that should not be searched.
$criteria=new CDbCriteria;
$criteria->with = array('clienteCliente');
$criteria->compare('clienteCliente.cliente_rut', $this->cliente_rut, true );
$criteria->compare('asiento_id',$this->asiento_id);
$criteria->compare('asiento_fecha_creacion',$this->asiento_fecha_creacion,true);
$criteria->compare('asiento_fecha_oficial',$this->asiento_fecha_oficial,true);
$criteria->compare('asiento_tipo_operacion','D');
$criteria->compare('asiento_monto',$this->asiento_monto);
$criteria->compare('asiento_voucher',$this->asiento_voucher,true);
$criteria->compare('asiento_glosa',$this->asiento_glosa,true);
$criteria->compare('asiento_cliente_id',$this->asiento_cliente_id);
$criteria->compare('asiento_tipo_asiento_id',$this->asiento_tipo_asiento_id);
$criteria->compare('asiento_cc_cust_id',$this->asiento_cc_cust_id);
$criteria->compare('asiento_usuario_id',$this->asiento_usuario_id);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
));
}