Compadre tenia este tema de lado pero he seguido dandole y no me ha querido funcionar la busqueda por Ajax queme comentavas, mira esto es lo que agregue,
Controlador
public function actionPrestacionesIngresadasMes() {
$sql = "SELECT A.asiento_id as id,
MC.medico_rut as rut,
MC.medico_nombres as nombre,
MC.medico_apellidos as apellido,
A.asiento_fecha_creacion as fecha,
P.prestacion_codigo as codigo_prestacion,
P.prestacion_nombre as nombre_prestacion,
AP.asiento_prestacion_precio as precio
FROM ASIENTO AS A
INNER JOIN ASIENTO_PRESTACION AS AP ON (AP.asiento_prestacion_asiento_id = A.asiento_id)
INNER JOIN PRESTACION AS P ON (P.prestacion_id = AP.asiento_prestacion_prestacion_id)
INNER JOIN ASIENTO_COBRANZA AS AC ON (AC.as_cob_asiento_id = A.asiento_as_cob_asiento_id)
INNER JOIN MEDICO_COBRANZA AS MC ON (MC.medico_id = AC.as_cob_medico_id)";
$rawData = Yii::app()->db->createCommand($sql)->queryAll();
$arrayDataProvider = new CArrayDataProvider($rawData, array(
'keyField' => 'id', // PRIMARY KEY
'id' => 'PrestacionesIngresadas' // ID of the data provider itself
));
$this->render('prestacionesIngresadasMes', array(
'arrayDataProvider'=>$arrayDataProvider
));
}
public function actionSearch() {
$criteria = (string) Yii::app()->getRequest()->getQuery('criteria');
if (Yii::app()->getRequest()->getIsAjaxRequest()) {
$condition = '';
if (!empty($criteria))
$condition = "WHERE MC.medico_nombres LIKE '%{$criteria}%'";
$sql = "SELECT A.asiento_id as id,
MC.medico_rut as rut,
MC.medico_nombres as nombre,
MC.medico_apellidos as apellido,
A.asiento_fecha_creacion as fecha,
P.prestacion_codigo as codigo_prestacion,
P.prestacion_nombre as nombre_prestacion,
AP.asiento_prestacion_precio as precio
FROM ASIENTO AS A
INNER JOIN ASIENTO_PRESTACION AS AP ON (AP.asiento_prestacion_asiento_id = A.asiento_id)
INNER JOIN PRESTACION AS P ON (P.prestacion_id = AP.asiento_prestacion_prestacion_id)
INNER JOIN ASIENTO_COBRANZA AS AC ON (AC.as_cob_asiento_id = A.asiento_as_cob_asiento_id)
INNER JOIN MEDICO_COBRANZA AS MC ON (MC.medico_id = AC.as_cob_medico_id)" . " {$condition}";
$rawData = Yii::app()->db->createCommand($sql)->queryAll();
$arrayDataProvider = new CArrayDataProvider($rawData, array(
'keyField'=>'id',
'id'=>'PrestacionesIngresadas'
));
$this->renderPartial('_gridView', array('arrayDataProvider'=>$arrayDataProvider), false, true);
Yii::app()->end();
}
throw new CHttpException(400, 'Invalid request. Please do not repeat this request again.');
}
Vista prestacionesIngresadasMes
<div>
<?php
echo CHtml::textField('search-field', null, array(
'class'=>'submit-search',
'placeholder'=>'Search'
));
?>
</div>
<div id="grid-items-view">
<?php $this->renderPartial('_gridView', array('arrayDataProvider'=>$arrayDataProvider)); ?>
</div>
<script type="text/javascript">
(function($){
function doSearch() {
var criteria = $.trim($("#search-field").val());
var url = "<?php echo $this->createUrl('search'); ?>";
$.ajax({
url : url,
type : "GET",
data : {
criteria : criteria
},
dataType : "html",
beforeSend : function() {
//
},
success : function(response) {
$("#grid-items-view").html(response);
},
error: function() {
}
});
}
$(".submit-search").keypress(function(e) {
if (e.keyCode == 13) {
doSearch();
}
});
})(jQuery);
</script>
Vista _gridView
<?php
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'data-grid',
'dataProvider'=>$arrayDataProvider,
'columns'=>array(
array(
'header'=>'RUT',
'name'=>'rut',
'value'=>'$data["rut"]'
),
array(
'header'=>'NOMBRES',
'name'=>'nombre',
'value'=>'$data["nombre"]'
),
array(
'header'=>'APELLIDOS',
'name'=>'apellido',
'value'=>'$data["apellido"]'
),
array(
'header'=>'FECHA',
'name'=>'fecha',
'value'=>'$data["fecha"]'
),
array(
'header'=>'CODIGO PRESTACION',
'name'=>'codigo_prestacion',
'value'=>'$data["codigo_prestacion"]'
),
array(
'header'=>'NOMBRE PRESTACION',
'name'=>'nombre_prestacion',
'value'=>'$data["nombre_prestacion"]'
),
array(
'header'=>'PRECIO',
'name'=>'precio',
'value'=>'$data["precio"]'
),
),
));?>
OJALA ME PUEDAS AYUDAR PORFAVOR !!
SALUDOS 